1.双缓冲技术
http://www.jianshu.com/p/efc0bebfd22e?from=timeline
单缓冲:就是显示缓冲,一个ondraw中的所有图形,一次性加载到显示器,
双缓冲:在内存中开辟一个同样的缓冲区,用于先行绘制,等绘制完成之后,一起加载,加上显示缓冲,就是双缓冲技术了
2.andriod的runable的任务是不是在子线程,主要依赖他的启动线程,如果用thread启动,就是子线程,如果有handler来post这个runable,就是在主线程。android强制网络请求必须在子线程调用,在主线程只做更新ui的事情
3.versionCode和versionName的区别
versionCode和versionName是完全不同的作用,versionCode只是为了给手机看,手机如果需要安装新版本,只要求versionCode大于之前的,就可以,不管VersionName
versionName是一个相对正式的版本号码,一般有a.b.c三个数字组成,主要是一个给用户看的版本号,相对比较正规。用来检测版本升级
4.androir中的多线程栅栏,在几个线程都满足条件之后,再继续进行下面的操作,
http://www.bubuko.com/infodetail-834365.html
5.android多线程
http://android.jobbole.com/82092/,thread来自己写或者通过系统提供的线程池来控制
6.sqlite3的并发处理
针对android的的sqlite3,增删改都有lock来锁定,针对query,在底层默认有lock,所以如果多线程用的是同一个sqlopenhelper,那么线程共用一个cursor,默认存在lock,即使是多线程查询,也有有等待和阻塞的现象,针对这个多线程query,在官方api有描述,每个线程需要采用不同的sqlopenhelper,那么就不会存在等待和lock,因为要为每个线程生成一个openhelper。(其实就是在生成一个sqlopenhelper的子类,将原来的sqliteopenhelper的源码复制过来,生成一个新的openhelper的对象,就可以了)