1. 今天在看mars视频时参照mars的方法打印日志.在logcat中添加System.out过滤,结果发现没有打印,问了朋友,说用log.d("Debug","...");发现还是没有,然后觉得我logcat出问题了,经查找发现可能是是新版本的logcat没更新好.按照这里的步骤最后成功打印出log. 在给一篇介绍logcat方法的文章
2. android虚拟机死慢怎么办?如何不再使用android虚拟机,直接使用个人手机调试. android自带虚拟机真心受不鸟了,研究了一下如何直接使用手机调试,查资料后发现自己学识浅薄呀,5分钟搞定,小米手机开启usb调试后自动安装驱动,很多品牌手机也可以,也可以自动下载驱动,具体请参考这里 , 还有不推荐使用虚拟机,朋友说很多虚拟机上能运行的程序在实体机上是有问题的,在虚拟机上出的问题在实体机上可能不会出现,所以放弃虚拟机吧~
3. R.java文件丢失分析,好吧又碰上坑爹的事了~如果导入的文件工程文件编译错误,那么改正后编译时不一定重新编译R.java文件,导致出现错误 “R.java was modified manually! Reverting to generated version!” ,而且clean不一定好使。查到了一个比较靠谱的文章这里 还分析了问题产生的一些原因。
4. 昨天操作数据库的时候死锁了...查了好多资料,最后发现事务begin完忘了end了~不过加深了对sqlite锁的理解~
原来cursor.getCount()还会锁数据库~ http://blog.youkuaiyun.com/hudashi/article/details/7066268
同时事务开始时也会锁数据库~ http://www.eoeandroid.com/thread-71734-1-1.html
还有其他的写入操作会锁数据库,不过就运行来讲不会有延时~
2014.7.11
5. 一个对于obtainMessage创建message对象的分析,在创建Message对象的时候要去用obtainMessage函数来创建,可以避免不断的new内存(不断的太多的new经常是项目效率低下应用卡的原因~),这里有篇对obtainMessage的分析比较详细。
6. 又遇到一个大坑,当ViewPager包含ListView类型页面(就是那种带ListAdapter的页面,还有可能是GridView)在退出时会报异常 java.lang.IllegalArgumentException: The observer is null. 我是在这里找到解决方法的,不过他说的原因不全面,当页面包含多个ListView时会重复调用他的unregisterDataSetObserver,当多个ListView包含同一个Adapter时也会出现这种问题