Android官方建议
为啥强制昵称
这个作者很懒,什么都没留下…
展开
-
谷歌官方建议笔记——多线程
原文不得不说一句,谷歌口气好大,SMP啊…怎么着也是超算领域的名词啊…Android上的处理器主要分为两种:uni-processor,流水线级的并行;SMP,内核级的并行Android处理器保证,读与读之间不会重排序,写与写之间不会重排序即便是写通的Cache,在真正数据落地前也会运行数条指令对现有的大部分ARM处理器来说,32bytes的数据读写基本上是在一个Cache Line,是原子原创 2015-07-25 16:27:39 · 596 阅读 · 0 评论 -
Android存储基础及相关源码
Key-Value:getPreferences()是Activity的接口,getSharedPreferences()是Context。前者是以Activity.getLocalClassName()为Key的public SharedPreferences More ...getPreferences(int mode) { return getSharedPreferen原创 2015-09-16 15:05:58 · 440 阅读 · 0 评论 -
谷歌官方建议笔记——内存
原文所有进程都是由Zygote fork出来的,所以大部分内存分页都是在进程间共享的Dalvik code、app resources、so文件都是放到mmap里面的,能适应原创 2015-09-17 20:39:31 · 633 阅读 · 0 评论 -
谷歌官方建议笔记——性能
原文尽量减少对象的创建,从而减少GC次数。包括:减少不必要的中间变量:包括函数局部变量、返回值等对于String,最好使用substring,此时新的String是原始数据的子集的引用int比Integer要快对于一个Bean的数组,可以转变为多个基本类型的数组的集合,减少对象的创建,可以参考ArrayMap如果不需要访问对象的成员变量,尽量使用static方法。会有15%-25%的性能提原创 2015-09-17 20:20:10 · 554 阅读 · 0 评论 -
谷歌官方建议笔记——布局
原文layout_weight会measure两次ImageView+TextView可以使用Compound Drawable代替如果FrameLayout仅作为容器出现,merge会更高效,FrameLayout本身并没有任何控制位置的能力,只有背景和Padding超过10层会非常严重的性能问题include Layout时,可以使用layout_*属性覆盖被include的Layou原创 2015-09-17 20:56:40 · 518 阅读 · 0 评论 -
谷歌官方建议笔记——电量
原文应该在做省电优化时首先检查电量状态,使用 IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent batteryStatus = context.registerReceiver(null, ifilter); 直接获取状态,关于sticky broadcast一直监控电量是矫枉过正的原创 2015-09-17 20:48:14 · 668 阅读 · 0 评论 -
谷歌官方建议笔记——ANR、JNI
原文UI 5s没响应,BroadcastReceiver 10s未完成都是ANR如果运行时间会很长,用IntentService替代BroadcastReceiver一旦无响应时间超过100ms,用户就会感觉卡。如果在某个页面需要耗时的更新,那么分块的更新数据,及时进行展示———原创 2015-07-20 19:51:25 · 664 阅读 · 0 评论 -
谷歌官方建议笔记——多线程
原文对于多核机器,应使用多线程对任务进行并行化在Runnable启动时,调用android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);设置线程优先级,避免过多的线程切换在Runnable通过Thread.currentThread()获得当前线程,以及时停止线程(个人觉得没什么用,re原创 2015-07-20 17:16:53 · 890 阅读 · 0 评论 -
跨Activity KVO问题思考
大部分展示类App都是Summary->Detail结构的,Detail中常常包含了对Model的修改。如何同步Model和View的状态是一个常见的问题。Android architecturegoogle官方的方案是ViewModel、LiveDataViewModel ViewModel是整个页面数据和逻辑的集合,比较像MVC中的C+M的绑定部分。数据同步靠两点:1.每次resume(或者其原创 2017-10-30 17:22:49 · 699 阅读 · 0 评论