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分析是非常有用的。
最后说一句:性能优化是一个非常具有挑战性的工作,上面列出很多分析内存、优化内存的方法,但是真正优化工作远不止这么简单,这里只是列举了一些入门的方法,而要进行完美的内存优化、内存分析绝非一日之功,需要开发者深厚的技术功底合耐心。
阅读全文
1 0
- Android APP性能优化总结(改写中,未完成)
- Android App 性能优化总结
- android app 开发过程中 对于性能优化的总结
- App 优化(三)未完成
- 给 App 提速:Android 性能优化总结
- 给 App 提速:Android 性能优化总结
- 给 App 提速:Android 性能优化总结
- 给 App 提速:Android 性能优化总结
- 给 App 提速:Android 性能优化总结
- 给 App 提速:Android 性能优化总结
- 给 App 提速:Android 性能优化总结
- 给 App 提速:Android 性能优化总结
- Android——APP性能优化总结
- 给 App 提速:Android 性能优化总结
- Android App 性能优化
- Android App 性能优化
- Android App 性能优化
- Android APP 性能优化
- HoloLens 如何实现UI正对摄像机
- jzoj3712 【NOI2014模拟6.30】石中剑的考验
- 字符串处理
- 关于定制日期选择器DatePicker
- C语言可变参数
- Android APP性能优化总结(改写中,未完成)
- 查询数据库中的表的字段
- 直播聊天室消息类型
- 可拖动的滑动面板和Menu的实现(SlidingUpPanelLayout)
- 公开的海量数据集 Public Research-Quality Datasets
- IOS 添加/移除子视图
- 一天装软件有感
- selenium+python+chrome
- android缓存的机制