1,布局优化
1.1,删除无用的层级
1.2,采用简单的布局结构,比如能用LinearLayout不用 RelativeLayout因为前者更简单
1.3,对于可以复用的布局采用<inclue>标签
1.4,使用<merge>标签
https://www.jianshu.com/p/fbcc6a17d11e
2,绘制优化
指的是在view的ondraw方法中,避免大量的操作,首先,在ondraw中不要大量使用新的局部变量,因为ondraw方法可能会被频繁调用,局部变量产生大量的临时对象,会导致频繁的gc。
其次,ondraw中不要有耗时任务,比如大量的循环遍历,大量的循环会占用时间片,导致绘制不畅,google标准,view的绘制帧率为60fps,要求每帧不超过16ms,大量的循环明显会占用这个时间
3,内存泄漏优化
3.1 静态变量导致的内存泄漏:比如activity持有静态变量,导致activity无法释放
3.2单例模式导致的内存泄漏:单例模式的生命周期和Application是同步的,如果一个activity调用了单例模式的东西,那么该activity将无法释放
3.3 属性动画导致的内存泄漏:如果在ondestroy中没有释放动画,那么动画将会一直执行下去
4,bitmap占用内存,bitmap对象要及时销毁
5,ListView的优化 常见ViewHolder
6,不用用大量的Thread,而用线程池
7,不用枚举,枚举很占内存
Android性能优化
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 系列文章:Android性能优化|SquirrelNoteAndroid性能优化:布局优化实践|SquirrelN...