Android 性能优化方法
2018-03-14 本文已影响0人
代瑶
-
布局优化
1.1 布局优化的思想很简单,就是减少布局文件层级
如果比较简单的布局那么用LinearLayout 如果复杂的就用RelativeLayout,RelativeLayout计算会耗CPU,但是多层嵌套时LinearLayout会更耗GPU
1.2 <merge> + <include> 在include中尽量减少多余层级
1.3 多使用ViewStub 懒加载,减少层级绘制 -
绘制优化 - Vide 的绘制帧率60fps是最佳的也就是每帧不超过16ms,否则就会有卡顿的感觉了,尽量少在OnDraw中大量逻辑运算
-
内存优化 - 内存泄露是需要注意的,注意static导致的泄露,注意单例模式导致的泄露,注意属性动画ValueAnimator.INFINITE退出activity导致的泄露
-
响应速度优化和ANR日志分析 - 核心思想是避免在主线程做耗时操作,将有需要的逻辑运行放到子线程,避免ANR,提高activity响应速度
-
Bitmap优化 - 减少apk里的图片大小,需要小图标时尽量加载一个符合大小的,避免无故浪费内存
-
线程优化 - 如果需要频繁的线程去请求下载某个内容多的东西,尽量使用线程池,避免创建和销毁带来的性能开销
-
不要过多创建枚举,枚举占用的内存控件比整形大
常量用static final 来修饰
使用特有的数据结构 SparseArray、Pair等
适当用软引用和弱引用
采用内存缓存和磁盘缓存
尽量采用内部静态类,避免内存泄露