当前位置: 热点新闻网 > 科技

AndroidAPP性能优化思路和学习方法

来源:搜狐    发布时间:2017-06-30 16:45      阅读量:10064   

原标题:Android APP性能优化思路和学习方法

你善于给App做性能优化吗?

谈到性能优化,相信各位开发Android的老司机和新司机,都能说上几句。而在面试过程中性能优化也是必问的姿势。但人人都能说几句并不代表对性能优化的理解有多少,不信看几个问题:

  1. Android的内存管理在Dalvik和ART上有什么区别?通过adb获取内存信息时,哪个值是真正可回收的内存占用量?

  2. 如何计算资源图片所占的内存?

  3. 线程的优先级和进程有关吗?

相信不少司机肯定说不全,但这条估计要让崇尚“背诵记忆准则”的小伙伴们笑了:我不理解原理,但也能说出几条优化的规则,你安能说我不懂性能优化?诚然性能优化有很多经验、准则可以参考借鉴,但是性能优化却不应该是背诵记忆的机械动作。如果不理解原理,对性能优化的认识、理解不足,任何场景都拿统一的套路生搬硬套,那优化的深度、全面性、适用性一定会大打折扣。

性能优化的难度很大

性能优化的过程是一个非常困难的过程,需要你对优化的方向不仅有知识上的充足储备还要有对现存业务上的了解。拿App启动优化来举例:

  1. 查看官方文档对启动优化的概述;

  2. 梳理App启动的逻辑;

  3. 使用工具对启动逻辑代码进行准确的度量;

  4. 针对瓶颈确定优化方案;

  5. 优化、测试。

难点在于中间三步:

  • App多人开发,又历经多个版本,没人说得清App启动有多少逻辑以及补偿逻辑;

  • 不同风格的代码读起来,那感觉绝对是一个酸爽;

  • 确认了问题点,如何优化?重构还是重做?

为什么要重视性能优化?

  • 性能优化的学习与实践是技术人员成长进步的一条途径,同时也是改善代码质量的一次机会。

  • 伴随着App功能的增多,性能问题随之而来,不夸张的说任何App都有性能问题,只是程度不同。任由性能问题存在却视而不见最终一点会有集中式的爆发,那后果不仅仅是技术上的失责,更会影响产品及用户。

  • 性能优化的过程本身也是一个精益求精的过程,代表了你对代码的重视,对高质量应用的追求。

性能优化有哪些好的资料推荐?

  1. Android性能优化典范,官方推出,必属精品。不仅仅告诉你哪里有问题,更告诉你为什么!

  2. 胡凯的博客,翻译了关于Android性能优化典范的内容,不想看视频的话可以参考博客。不过官方的典范及翻译都是偏理论性,需要自己去实践。

  3. 官方文档,不管是Training模块还是API模块,都藏了很多干货。

  4. 《移动App性能评测与优化》,腾讯TMQ专项测试团队的大作,深入底层,追本溯源,精益求精,带给人技术上提升的同时更端正做技术的态度,强烈推荐!

对性能优化,平时怎么做?

四个字:防微杜渐。很多性能方面的问题都不是一朝一夕产生的,例如OOM,导致OOM发生的代码可能只是压死骆驼的最后一根稻草,前面很多地方已经埋下了隐患,只等最后一个地方点燃。还有很多代码本身并没有错,确实实现了功能,但是放错了位置。

模块开发之前最好对技术方案进行评审,从实现上(源头)尽早规避低性能的实现方式;最好在功能完成之后,使用工具进行性能的分析,进行针对性的优化。

郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。

图说