
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
import osimport subprocessdef show_notification(title, text):os.system("""osascript -e 'display notification "{}" with title "{}"'""".format(text, title))def show_notification_2(title, text):cmd = 'di
在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
物联网协议对比Http,socket,XMPP,COAP,MQTTHTTP:典型的c/s通讯模式,最早适用web浏览器。不适合物联网场景,主要三大弊端。1。必须由设备主动向服务器发送数据,难以主动向设备推送数据。不适合数据采集,实时性,频繁操控场景2。安全性不高。web不安全,HTTP是明文协议,不适合高安全性的物联网行业3。资源消耗。*tcp三次握手,四次回收消耗cpu*HTTP消息头大量的数据
一. MediaPlayer:MediaPlayer确实强大,提供了对音频播放的各种控制,生命周期:1. MediaPlayer支持:AAC、AMR、FLAC、MP3、MIDI、OGG、PCM等格式2. 播放Raw下的元数据mMediaPlayer=MediaPlayer.create(this, R.raw.audio);mMediaPlayer.start();3. MediaPlayer设置

Flutter、Weex、RN,Native对比最火移动端跨平台方案盘点:React Native、weex、Flutter
一。编程规范删除无用代码、无用资源优化、压缩资源文件控制 widget build() 方法耗时避免重复且耗时工作避免返回庞大的 widget,尽量分拆成不同 widget,将 setState() 调用转移到 UI 实际需要更新的 widget 子树部分尽量使用 ListView,而不是直接构建大量的子组件列表对列表和网格懒加载,只构建可见部分标准的 ListView 构造函数适用于短列表,会一
一。编程规范删除无用代码、无用资源优化、压缩资源文件控制 widget build() 方法耗时避免重复且耗时工作避免返回庞大的 widget,尽量分拆成不同 widget,将 setState() 调用转移到 UI 实际需要更新的 widget 子树部分尽量使用 ListView,而不是直接构建大量的子组件列表对列表和网格懒加载,只构建可见部分标准的 ListView 构造函数适用于短列表,会一
一。assets目录:静态文件:支持任意深度的子目录,可以任意部署文件夹架构。不会自动生成id,访问时需要AssetManager类二。Lib目录:native库文件 ARM,ARM-v7a,mips,x86三。res目录:资源文件可以自动生成idanim动画文件drawable图像资源layout布局文件values特征指colors.xml颜色值dimen.xml尺寸值String字符串值st
UDP监听工具:import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;public class UdpReceive {private boolean isRunning = fal...
APISparseArray(稀疏数组), android特有api,标准jdk没有。只需要指定value类型,key不需要封装对象jdk效率10万条数据内差别不大,数据量越大hashmap效率越块的明显SparseArray是二差分查找,Hashmap是红黑数查找内存10万条数据左右SpaseArray比Hashmap省27%的内存。hashmap自动封箱拆箱...







