今天终于把《Android应用性能优化》这本书详读完了,总结一下学习状况:
一、Java代码优化
1、使用优化的算法
2、缓存结果
3、推迟初始化(使用时分配缓存)
4、大量的数据库操作使用事务处理
二、使用NDK优化性能
1、声明本地方法
2、实现JNI粘合层(javah)
3、创建Android makefile文件
4、用C/C++实现本地方法
5、编译本地库(ndk-bulid)
6、加载本地库(在初始化时加载)
三、避免内存泄露
1、当被释放的对象引用仍然存在时就会发生内存泄露
2、使用Heap及Allocation Tracker跟踪内存使用和分配情况
3、使用StrictMode类检测Activity泄露、其他对象泄露、对象没有关闭造成的泄露
四、多线程和同步
1、线程不会检测到Activity生命周期的变化,所以需要向线程传递Activity状态信息
2、Activity要记住线程运行的状态
五、性能评测
1、时间测量 System.nanoTime() 、Debug.threadCpuTimeNanos()
2、方法调用追踪 Debug.startMehodTracing()、使用Traceview工具
六、延长电池续航时间
1、禁用广播接收器
2、减少数据更新频率
3、WakeLock,界面显示时屏幕的亮度调整,是否禁用锁屏
七、图形优化
1、布局优化 相对布局、合并布局、重用布局减少布局层数和复杂度,使用ViewStub推迟布局的展开
2、Hierarchy Viewr生成布局结构图
八、RenderScript
1、用于高性能3D渲染