Android之性能优化技术及优化工具

时间:2021-12-22 03:43:25

Android性能优化篇

前言:随着应用增多,功能越来越复杂,布局也越来越丰富,而这些也成为阻碍一个应用流畅运行的阻碍。因此,对复杂的应用进行性能优化是创建高质量应用程序的基础。本章就将向大家展示几种性能优化的方法,帮助开发者构建运行速度快、响应速度快的应用程序。性能优化主要有三方面,分别是布局优化、内存优化、分析工具。

一、布局优化

因为系统在渲染UI界面的时候将消耗大量的资源,一个好的UI不仅应该具有良好的视觉效果,更应该具有良好的使用体验,因此布局优化就显得非常重要。 1、布局层级优化:在Android种系统对View进行测量、布局和绘制时,都是通过对View数的遍历来进行操作的。如果一个View数的高度太高就会严重影响测量、布局和绘制的速度。Google也在其API文档中建议View高度不宜哦过10层。现在版本种Google使用RelativeLayout替代LineraLayout作为默认根布局,目的就是降低LineraLayout嵌套产生布局树的高度,从而提高UI渲染的效率。
2、使用Layout组件优化:
  • 使用<include>标签重用layout;
  • 使用<ViewStub>延迟View加载;
  • 使用<merge>标签替换父级布局;

二、内存优化

由于Android应用的沙箱机制,每个应用所分配的内存大小是有限度的,内存太低就会触发LMK——Low Memory Killer机制。
请看我的内存分配机制相关文章:http://blog.csdn.net/csdn_aiyang/article/details/69380377
请看我的内存优化机制相关文章:http://blog.csdn.net/csdn_aiyang/article/details/68943015

三、使用各种工具来进行分析、优化

1、Lint 工具:是Android Sutido种集成的一个Android代码提示工具,它可以给你布局、代码提供非常强大的帮助。如果在布局文件中写了三层冗余的LinearLayout布局,就会在编辑器右边看到提示。当然这个是一个简单的举例,Lint的功能非常强大,大家应该养成写完代码查看Lint的习惯,这不仅让你及时发现代码种隐藏的一些问题,更能让你养成良好的代码风格,要知道,这些Lint提示可都是Google大牛们汗水合智慧的结晶。
2、Memory Monitor 工具,是Android Studio自带的一个内存监视工具,它可以很好地帮助我们进行内存实时分析。通过点击Android Studio右下角的Memory Monitor标签,打开工具可以看见较浅蓝色代表free的内存,而深色的部分代表使用的内存从内存变换的走势图变换,可以判断关于内存的使用状态,例如当内存持续增高时,可能发生内存泄漏;当内存突然减少时,可能发生GC等。
3、使用TraceView工具优化APP性能,它是一个Android下可视化性能调查工具,用它来分析TraceView日志。可用通过代码生产精确范围的TraceView日志,也可以通过Android Device Monitor生成TraceView日志。
4、使用MAT(Memory Analyzer Tool)工具是一个分析内存的强大的助手。生成HPROF文件进行分析。
5、使用Dumpsys命令分析系统状态,可以列出Android系统相关的信息和服务状态。配合Linux下的shell命令,可以让Dumpsys命令发挥非常强大的作用,这进行性能优化、Bug分析是非常有用的。

最后说一句:性能优化是一个非常具有挑战性的工作,上面列出很多分析内存、优化内存的方法,但是真正优化工作远不止这么简单,这里只是列举了一些入门的方法,而要进行完美的内存优化、内存分析绝非一日之功,需要开发者深厚的技术功底合耐心。