性能优化是开发中最重要的一部分,因为每个开发者开发出的产品都不能一次做到最优,所以在上线之前,我们要做大量的测试和优化,等到上线时还要避免一些闪退、卡顿等情况出现 。当然好的性能也是我们留住用户的一项重要指标 。下面我整理了一些我在实际项目中遇见的一些内存问题和解答,希望可以对大家有所帮助 。
【android性能优化 安卓手机用什么优化好】内存优化项目的过程怎么做
1、分析现状、确认问题
我们发现我们的APP在内存方面可能存在很大的问题,第一方面的原因是我们的线上的OOM率比较高 。第二点呢,我们经常会看到在我们的检测工具中内存的抖动比较频繁 。这是我一个初步的现状,然后在我们知道了这个初步的现状之后,进行了问题的确认,我们经过一系列的调研以及深入研究,我们最终发现我们的项目中存在以下几点大问题,比如说:内存抖动、内存溢出、内存泄漏,还有我们的Bitmap使用非常粗犷 。
2、针对性优化
比如内存抖动的解决 -> Memory Profiler工具的使用(呈现了锯齿张图形) -> 分析到具体代码存在的问题(频繁被调用的方法中出现了日志字符串的拼接),也可以说说内存泄漏或内存溢出的解决 。
3、效率提升
为了不增加业务同学的工作量,我使用友盟+U-APM这款对APP进行性能监测的工具,对APP进行监控 。U-APM 是友盟+推出的App稳定性监控、性能监控和云真机测试平台 。通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力,支持多场景、多通道智能告警监控,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间 。大家都可以使用,还是非常方便的哦 。
如何避免内存抖动
内存抖动是由于短时间内有大量对象进出新生区导致的,它伴随着频繁的GC,gc会大量占用ui线程和cpu资源,会导致app整体卡顿 。
避免发生内存抖动的几点建议:
●尽量避免在循环体内创建对象,应该把对象创建移到循环体外 。
●注意自定义View的onDraw()方法会被频繁调用,所以在这里面不应该频繁的创建对象 。
●当需要大量使用Bitmap的时候,试着把它们缓存在数组或容器中实现复用 。
●对于能够复用的对象,同理可以使用对象池将它们缓存起来 。
以上是我在开发过程中遇见的一些问题,我都给大家做出了解答,有用到的地方,大家可以参考一下此文章 。在对APP进行优化的时候,我经常使用的是友盟+U-APM对APP进行监测,寻找APP所在的问题,从而有针对性的解决问题 。另外它还提供云真机测试能力,助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率 。在云真机测试期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通 。
- 目前性能最强的5款手机 手机什么性能好
- 路由器刷固件有什么用路由器如果想要发挥真正的性能就要刷成第三方固件
- 性能强劲颜值高 什么手机颜值高性能好
- 这3款手机性能配置极佳 什么手机性能好配置好
- 目前性能处于第一梯队的手机处理器都有哪些 什么手机处理器好
- 中端智能机性能大比拼 中端机性价比
- 细数那些千元最强性能手机 千元性能最好的手机
- 今年手机芯片性能之王花落谁家 手机芯片性能对比表
- 性能王牌来炸场,一加Ace评测
- 快准狠的性能王牌,一加Ace上手体验