Android APP性能优化总结(改写中,未完成)

来源:互联网 发布:centos 6 vsftp 配置 编辑:程序博客网 时间:2024/06/08 00:26

导语

安卓大军浩浩荡荡,发展已近十个年头,技术优化日异月新,如今Android 8.0 Oreo 都发布了,系统性能已经非常流畅了。但是,到了各大厂商手里,改源码、定制系统,变得鱼龙混杂,到了不同层次的开发工程师手里,技术水平又参差不齐。另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。因此,对APP进行性能优化是创建高质量应用程序的基础,也是作为开发者该有的一种综合素质。



思考优化哪些方面

站在用户体验角度去思考,那一定是流畅、不崩溃。。。。下周一继续写。

一、布局优化

因为系统在渲染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分析是非常有用的。

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

原创粉丝点击