安卓性能优化

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

布局优化

  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. 避免创建过多的对象(如用线程池来代替自己新建线程)

网络优化

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

电量优化

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

你可能感兴趣的:(安卓性能优化)