安卓性能优化

安卓性能优化到底优化哪几个方面?

布局优化

  1. 减少布局文件的层级(测量/布局/绘制的时间减少):可以使用RelativeLayout来减少嵌套,从而达到减少层级的目的,另外在相同层级的情况下使用LinearLayout(相比于RelativeLayout更高效,因为linearlayout会进行多次测量)
  2. 使用include标签复用,merge标签降低层级,ViewStub来实现懒加载,另外补充一个Space可以用来占位(include 和merge的区别)
    (1) 使用include可以增加视图的复用性
    (2)使用merge标签可以减少视图的的层级,加快视图的绘制
    参考

内存优化

  1. 内存泄漏
    主要场景:
    1. 非静态内部类的静态实例(非静态内部类默认持有外部类的实例)
    2. 资源对象未关闭(如cursor、stream、socket、bitmap)
    3. broadcast、service的注册与反注册问题
  2. 内存溢出
    1. 加载缩放后的图片
    2. 使用高性能的数据类型(比如用sparseArray代替hashmap,string、stringbuild、stringbuffer的合理使用)
    3. 避免创建过多的对象(如用线程池来代替自己新建线程)

网络优化

合理利用缓存,避免重复的网络请求

电量优化

避免大量的耗时操作,长连接时需要特别注意

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Overdraw(过度绘制)描述的是屏幕上的某个像素在同一帧的时间内被绘制了多次。在多层次的UI结构里面,如果不可...
    gogoingmonkey阅读 912评论 0 3
  • Android的性能优化方法 1. 布局优化 使用 标签、<merge>标签、 <ViewStub>控件 复杂布局...
    AlanXue阅读 344评论 0 8
  • 太长不看版:在 Android UI 布局过程中,遵守一些惯用、有效的布局原则,可以制作出高效且复用性高的 UI。...
    Mupceet阅读 3,948评论 0 14
  • 我还是很喜欢你 像风走了八千里地 不问归期 我还是很喜欢你 像鲸鱼缺氧于六千四百米的深海 乐此不疲 我还是很喜欢你...
    微笑面对你阅读 294评论 0 0
  • 大二下时跟着专业里一个研究组做项目,第一次接触图像识别。觉得挺有意思的,就在这个方向做了下去。大三上开始接触人脸识...
    九斤半阅读 557评论 0 2