Android的性能优化

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android的性能优化脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

性能指标

  1. 布局复杂度:布局复杂会导致布局需要更长的时间,从而导致进入应用慢、页面切换慢

  2. 量:耗电量大会导致机器发热、缩短机器的有效使用时长

  3. 内存:内存消耗大会导致频繁GC,GC时会暂停其它工作,导致页面卡顿;内存泄露会导致剩余可用内存越来越小;内存不足会导致应用异常

  4. 网络:频繁的网络访问会导致耗电和影响应用的性能;网络交互数据大小会影响网络传输的效率

  5. 程序执行效率:糟糕的代码会严重影响程序的运行效率,UI线程过多的任务会阻塞应用的正常运行,长时间持有某个对象会导致潜在的内存泄露,频繁的IO操作、网络操作而不用缓存会严重影响程序的运行效率

布局复杂度的优化

  1. 在AndROId中单独的布局性能:FrameLayout>LinearLayout>RelativeLayout

  2. 三个标签减少布局的层级结构:

    • include: 用于一些复用性很高的布局文件,比如一个App的标题栏

    • merge:减少View树的层级(注意:merge标签只能作为XML布局的根标签使用)

    • ViewStub:懒加载那些只有在特定情况下才会出现的界面(比如没有网络的时候),性能要高于给View设置visiblITy="gone"

GPU Overdraw(过度绘制)

GPU过度绘制就指的是在屏幕一个像素上绘制多次(超过一次),过度绘制其实是一个性能和设计的交叉点。我们在设计上追求很华丽的视觉效果,但一般来说这种视觉效果会采用非常多的层叠组件来实现,这时候就会带来过度绘制的问题,下面这张图展示了过度绘制的颜色与次数

Android的性能优化

检测的工具:

  • HierArchyViewer 可查看布局层次结构,View绘制时耗时。

  • 无线UIViewer可在手机端直接实现HierarchyViewer的功能,查看任意界面的UI布局。
    无线UIViewer下载

有关于overdraw的更多信息,请参阅:overdraw优化

Android中耗电量

虽然大多数应用都不会过多的消耗电量,不过现在很多APP都集成了IM、地图定位等功能,还是简单介绍一下

  1. 后台Service应该尽可能减少唤醒CPU的次数,比如IM类业务的长连接心跳、QQ提醒待机闹钟类业务的alarm硬时钟唤醒

  2. Wi-Fi比蜂窝数据,包括2G(GPRS)、3G更省电,尽量在Wi-Fi下传输离线资

  3. Wake locks(一种锁机制,有些文献翻译成唤醒锁。)持有时间过长会导致耗电增加

CPU灭屏休眠需要做一个判断,就是看还有没有应用持有wake locks,如果有,CPU将不会休眠。有些应用不合理地申请wake locks,或者申请了忘记释放,都会导致手机无法休眠,耗电增加。

第三方检测内存泄漏的工具

LeakCanary

LeakCanary是一个检测内存泄露的开源类库:
Github LeakCanary
中文使用说明

Android的性能优化

GT-官方网站

GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug environment)。可对APP进行快速的CPU、内存、流量、电量、帧率/流畅度性能测试、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。

脚本宝典总结

以上是脚本宝典为你收集整理的Android的性能优化全部内容,希望文章能够帮你解决Android的性能优化所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。