iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android开发性能优化总结
  • 566
分享到

Android开发性能优化总结

性能android开发性能优化优化Android 2022-06-06 07:06:07 566人浏览 八月长安
摘要

一. 加载 预加载:1.反射注解框架Reflect信息,在Application内多线程预加载至缓存。2.资源预加载 懒加载:1.Fragment懒加载2.资源懒加载 二. 缓

一. 加载

预加载:1.反射注解框架Reflect信息,在Application内多线程预加载至缓存。2.资源预加载

懒加载:1.Fragment懒加载2.资源懒加载

二. 缓存

1. Http缓存,淘汰时间

2. 图片缓存,bitmap压缩,Lru淘汰,持久化二级缓存

3. 反射注解框架Reflect信息缓存,防止多次反射操作

三. 异步防止Anr

1. 避免在UI线程做太多耗时操作,IntentReceiver > 10s Anr

2. 并发操作多用读写,少用synchronized,Android虚拟机Art直到Android6.0为止尚未对synchronized做CAS优化,而synchronized在hotspot性能还可以。

3. 使用线程池,结合图片异步加载等需要开大量子线程时做到线程复用。

4. 不需要时取消任务,如Activity被结束时取消正在进行的加载任务。

四. 防止OOM

1. Bitmap:懒加载,LRU缓存,Bitmap压缩(根据ImageView大小),分块加载大图。

2. 大文件,如txt等,分段加载。

3. ListView&GridView做复用优化。利用ViewHolder,setTag

五. View优化

1. 优化布局层次,布局复用,善用include,merge等标签。

2. 避免过度绘制,减少元素,布局的重叠,开启DebugGPU overdraw调试,使用Hierarchy Viewer。简单说就是多次无意义调用onDraw所造成的主线程的性能浪费,可能是帧数下降。

3. onDraw()优化,避免在onDraw里new Paint()等耗时操作,onDraw内仅应当保留必须代码。

六.内存泄漏

1.dump内存进行分析,也可以使用leakcanary库。

2.HashMap避免使用HashCode可变的key

3.谨慎处理Context对象,因为其生命周期由Framework管理,尽量避免私自持有。

4.小心静态变量,及时清除存储在static中的废弃对象。

5.即时释放例如File,Cusor,Stream,Socket等资源对象,因为jni层持有其java层的引用。

6.非静态的匿名内部类。常见于Runnable和Handler。

七.使用性能优秀的Map

1.线程安全的map,ConcurrentHashMap,其使用了分段锁,优化并发性能。

2.使用ArrayMap,空间性能较高。它不是一个适应大数据数据结构,相比传统的HashMap速度要慢,因为查找方法是二分法,并且当你删除或者添加数据时,会对空间重新调整,在使用大量数据时,效率并不明显,低于50%。

3. SparseArray,二分法加上只能以int为key,性能较高。

以上所述是小编给大家介绍的Android开发性能优化总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

您可能感兴趣的文章:Android开发仿扫一扫实现拍摄框内的照片功能Android设计模式系列之工厂方法模式Android中用RxJava和ViewPager实现轮播图Android设计模式系列之单例模式Android设计模式系列之组合模式Android中的设计模式Android 对话框sweet-alert-dialogAndroid string-array数据源简单使用Android this与Activity.this的区别Android 解决build path errors的问题


--结束END--

本文标题: Android开发性能优化总结

本文链接: https://www.lsjlt.com/news/23865.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作