小米08月工作纪录 工作记录
小米08月工作纪录
2015.08.01
DatagramSocket
UDP Socket
2015.08.04
执行super语句必须将其放在子类的构造函数的第一句!!!
bindService后要在不用时使用unbindService注销掉SerrviceConnenction.
android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法
2015.08.05
OutputStream
与 Writer
有哪些区别?
OutputStream
直接对byte[]
进行操作,不会修改任何信息。字节流输出。
Write
它会根据你的系统属性file.encoding来decode数据。比如你从文件中读取一行,用reader.readLine()返回的string是经过decode的数据。如果你的文件的encoding不等于你的file.encoding的值,就会产生编码错误。字符流输出。
2015.08.06
按住 Option 全屏按钮就会变为 + 最大化;
Ctrl + 向上箭头
窗口管理软件Moon,快捷键体验超好。
使用Messenger利用Message进行通信时,目前Message的obj无法带上自定义的Pacelable对象,因为Message内部的Pacelable source无法使用Pacelable对象的ClassLoader,导致ClassNotFoundException when unmarshalling
异常。
2015.08.07
一般都是客户端想要调用服务端为其服务,所以一般是服务端返回一个可调用的实现 aidl 的Binder 供客户端使用,有事件回调其关注观察者的注册函数,或者广播通知。
2015.08.10
RemoteCallbackList
可以自己管理Callback,可以重写方法,在远程Callback死亡时添加处理操作
2015.08.11
Sublime 2 ,文本编辑器,相当好用,特别是快捷键,随心所欲。
Android HAL(Hardware Abstraction Layer),Android 硬件抽象层(用户空间),简单地说,就是对Linux内核驱动程序(内核空间)封装,向上提供接口,
2015.08.13
MIUI 7 发布。
今天有一个bug,系统休眠导致累积了许多包发不出去。
2015.08.19
蛋疼,什么bug都要客户端先查一遍。.明天还要过七夕。
学习grep大法
查时间 查关键字 优点就是可以一次查所有文件
使用 -e 表达或
关系。再次使用管道表达和
关系。
2015.08.20
AlarmManager
android 的系统定时器,再系统休眠时也能拿到锁。碰到一个0点统一发心跳的bug,因为心跳时钟被对齐了,小米机型会有一些
2015.08.24
今天遇到MiLinkService 根本startService起不来,bindService也不执行回调的问题。
于睿来问为什么json下发不完全,事实的真相是log打印的字符有长度限制。
2015.08.25
Service 进程被杀调研汇总,看adb日志发现
看到了 Scheduling restart of crashed service in 212312321ms
系统安排很长时间后再重启。
广播启动的 Starting service ServiceState without owner
可能是因为没有binder,所以没有owner。
startForeground 貌似能解决所有问题,但貌似不好,miui可能不会同意
设定进程优先级 THREAD_PRIORITY_BACKGROUND 貌似是解决方案之一
2015.08.26
有一起 MiLinkSDK died的原因是因为 native thread 问题,正在connecting时,stop thread。
前台进程>可见进程>服务进程>后台进程>空进程
有没有什么看日志的文本工具,先定义一些关键字,只要将文本一复制进去,这些关键字都自动高亮。
2105.08.27
mdfind -name a.txt
全局搜索文件
2015.08.28
今天爽爆了。
使用sublime 的自定义语法高亮功能,可能定制一个观看日志的神器,将日志中的重要信息点以不同颜色进行高亮,如下效果:
网上有个 aaapackagedev 的教程,但好像很复杂。
直接找到 Sublime 的Package文件夹下,定义一个 *.tmLanguage
文件,格式如下:
其中name对应的string的值来自于 .tmTheme 文件中的 scope 字段,以此关联 match 的大小和颜色。
2015.08.31
handshake 会根据用户ip返回当前适合用户连接的最优ip,但是连接不同的acc,运营商会选择不同的出口,这样就造成clientip不一样。
获取手机 wifi信息 网络信息 手机信号强度,大概如下
ConnectivityManager manager = (ConnectivityManager) Global.getApplication()
.getSystemService(Context.CONNECTIVITY_SERVICE);
info = manager.getActiveNetworkInfo();
getRemoteService为null,先stopService再startService能大幅度优化。
blog comments powered by Disqus