文章插图
性能优化是开发中最重要的一部分,因为每个开发者开发出的产品都不能一次做到最优,所以在上线之前,我们要做大量的测试和优化,等到上线时还要避免一些闪退、卡顿等情况出现 。当然好的性能也是我们留住用户的一项重要指标 。下面我整理了一些我在实际项目中遇见的一些内存问题和解答,希望可以对大家有所帮助 。
内存优化项目的过程怎么做
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所在的问题,从而有针对性的解决问题 。另外它还提供云真机测试能力,助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率 。在云真机测试期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 目前防水最好的三款手机 什么手机防水性能好
- 1300以内主打性能的5G手机 1300买个什么手机好
- 安卓手机性能排行 什么安卓手机性能好
- 推荐几款性能不错的手机 什么样的手机性能好
- 且性能够用的手机有哪些 有什么好一点的智能小手机
- 手机应该怎么选 什么手机性能好还不贵
- 全球手机处理器AI性能榜出炉 全球什么手机处理器好
- Android上最佳的视频压缩工具推荐 手机视频压缩有什么好的软件
- 手机推荐2017性价比 2017什么手机性能好
- 四款最实惠的强性能手机 什么手机既实用又实惠性能好