美文网首页
Android 性能优化Tips

Android 性能优化Tips

作者: wutongke | 来源:发表于2017-09-03 21:40 被阅读192次

    1. Disk I/O

    SharedPreferences 扩展性不好,可以考虑使用扁平化文件+LRU 内存缓存,如果有大量keys可以考虑使用SnappyDB。

    2. Networking

    • 并行和优先级http连接 Volley
    • byte buffer 复用,OkHttp

    3. 解析

    • 避免使用反射进行解析
    • 解析大量流数据时使用SAX
    • 使用代码生成器解析器

    4. Latency cpu 时间

    • 在应用启动时指获取必要的信息,从而优化启动时间
    • 限制在一个固定大小的线程池中执行异步任务
    • 在Acidity中尽早进行网络请求
    • 监测网络连接状态,从而调整获取数据策略
    • 尽可能地从网络获取关键数据
    • 在scroll layout中注意View的回收和循环,注意合理地实现View的回收
    • 避免重复调用系统服务,启动一次然后在内存中缓存使用
    • 避免频繁调用自定义view的invalidate 和ondraw,尽量一次调用批量udpate多个view
    • 尽量使用lint和fltten view hierarchies 来优化view
    • 避免访问类的内部成员变量

    5. 图片和scrolling

    • 使用高效的图片库避免频繁GC和内存抖动
    • 使用固定大小的100_100,200_200等来提高CND的cache
    • 避免在客户端自己调整图片大小,而是直接使用合理大小的图片
    • 不用吧图片放置在分辨率敏感的文件夹下,这样的图片在运行时会被放大,有时会导致OOM

    6. GC和内存

    • 缓存频繁使用的Object避免GC
    • 不用强引用activity context,使用application 的context或者弱引用,这样可以避免在activity finish之后的内存泄漏

    7. 渲染

    • 优化ui线程中频繁执行的操作
    • 使用FPS检测渲染卡顿问题,并优化耗时操作

    相关文章

      网友评论

          本文标题:Android 性能优化Tips

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