美文网首页
Android性能优化总结

Android性能优化总结

作者: 獨孤不敗 | 来源:发表于2019-05-10 11:18 被阅读0次

    Android的性能优化,主要是从启动速度内存流畅性电量流量等5个方面入手。

    启动速度优化

    • 不在主线程做耗时操作,如io读写、数据库操作等,使用子线程或延时处理
    • 不在application中初始化过多的三方SDK
    • 降低布局文件的嵌套层级,使用merge、include、viewstub标签
    • 减少inflate和findViewById调用次数

    内存优化

    • 列表项使用ConvertView和ViewHolder缓存视图
    • 不在自定义view的onDraw方法中new对象
    • 不在循环体中new对象
    • Bitmap、io流等及时释放
    • 对象重用机制,如Bitmap缓存池
    • Bitmap使用缩略图,降低编码格式
    • 字符串拼接使用StringBuilder
    • 使用android:largeHeap="true"获得更大的使用内存
    • 使用android:sharedUid,共享app间的可用内存
    • 排查内存泄漏问题

    流畅性优化

    • 防止过渡绘制问题
    • 列表滑动过程中不加载图片
    • 减少view的刷新次数
    • 实时性高的界面使用SurfaceView
    • 减少onMeasure方法的复杂度,onDraw方法尽量在16ms内完成
    • 优先使用本地数据加载,再异步请求网络
    • 使用HandlerThread,减轻主消息队列的负担
    • 使用GPU呈现检查绘制时间
    • 使用TraceView分析方法的执行时间

    电量优化

    • 正确使用WakeLock,及时release
    • 使用view的keepScreenOn属性
    • 根据使用场景,调低屏幕亮度,提供夜间模式
    • 进程转入后台时,暂停网络请求,降低连接的心跳频率
    • 控制AlarmManager的唤醒时间频率
    • 使用JobScheduler执行非紧急任务

    流量优化

    • 请求网络数据后保存到本地,优先使用本地数据
    • 服务器下发矢量图、缩略图等,视频提供清晰度选择
    • 进程转入后台时,暂停网络请求,退出应用时停止请求
    • 对于大量数据请求分步进行
    • 使用三方优秀开源库如okhttp,glide等
    • 使用流量工具检测大流量的场景并进行优化

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/apbooqtx.html