• [原] Android性能优化方法


    GPU过度绘制

    • 打开开发者选型,“调试GPU过度绘制”,蓝、绿、粉红、红,过度绘制依次加深
    • 粉红色尽量优化,界面尽量保持蓝绿颜色
    • 红色肯定是有问题的,不能忍受

    使用HierarchyView分析布局层级

    • 删除多个全屏背景:应用中不可见的背景,将其删除掉
    • 优化ImageView:对于先绘制了一个背景,然后在其上绘制了图片的,9-patch格式的背景图中间拉伸部分设置为透明的,Android 2D渲染引擎会优化9-patch图中的透明像素。这个简单的修改可以消除头像上的过度绘制。
    • 缩短View层级结构
      • 删除非必须View,不仅仅能提高帧率还能降低对内存的消耗、同时还能加速应用的启动
      • TextView组合图标,代替LinearLayout+TextView+ImageView
      • 使用mearge标签
      • 使用RelativeLayout扁平化布局
      • 特别是ListView item布局,一定要扁平化

    不要吝啬发现Android Device Monitor的功能

    • Start Method Profiling
      • 可以观察每个线程的方法调用情况,
      • 可以通过观察,方法的调用次数、每次方法执行时间
      • 找到有是否死循环,是否为耗时操作

    使用LeakCanary发现内存溢出

    • 在开发阶段一定要集成LeakCanary,而且非常容易集成
    • 及时发现Activity页面内存溢出地方法
    • 详细的内存溢出方法跟踪,便于定位异常点

    使用lint工具给APK包减肥

    使用OneAPM监控App性能

    使用SVG代替图片

    • 需要和设计配合

    使用xml代替图片

    代码规范制定并遵守

    • 一致的代码风格,有利于代码维护、查看和发现问题所在
  • 相关阅读:
    客户端用mstsc不能用一台设备连接终端服务器的解决办法
    [转]知识管理ABC
    Visual Studio常用小技巧[备忘]
    一套外企的数据库设计面试题
    MSDN中的图形元素和文档约定[备忘]
    设计模式概述
    ASP.Net 4.0中新增加的23项功能[转]
    Dreamweaver 8 的相关使用
    浅谈ThreadPool 线程池
    C#委托的异步调用[学习]
  • 原文地址:https://www.cnblogs.com/purediy/p/5036771.html
Copyright © 2020-2023  润新知