移动App性能测评与优化1.2.3 示例
2023-09-11 14:16:03 时间
1.2.3 示例
1.1节已经介绍了出现内存泄漏时的问题及分析方法,在这里我们再以一个真实的例子介绍常见的几种内存问题和分析方法。
这是发生在手机管家4.x的某个版本上的案例,新版中加入了一些功能,开发人员估计新功能可能会分配几万字节到几十万字节的内存,因此我们来进行内存方面的测试验证。当新功能的代码合入后,我们发现应用启动后的内存增长超过了2MB,这可大大超出了所有人的预期,一定是有什么地方出了严重的问题。
由于新加入了好几个功能,因此要逐个去排查。如果某个新功能的代码都在同一个package下,那么就可以使用MAT的过滤功能来验证这部分代码是否使用了内存,如图1-7所示。
图1-7 使用MAT的过滤功能
经过一番筛选排查,发现内存中多出了一些新对象,多消耗了约300KB内存,目前这并不能解释内存增长了2MB的原因。但仔细检查多出来的对象并清理掉不用的部分也是有帮助的。
经过检查,这部分内存是其他新功能使用的。对此我们需要进一步确认,这些对象是否是有用的,还是临时创建的。对于临时创建不再使用的对象可以主动销毁,而对于保存着信息将要用到的对象也可以进行进行压缩裁剪,以进一步减少占用的内存。
在以上排查中,我们确实发现了一些问题,但将一些不用的对象清理后再执行测试,总体内存并没有明显减少。现在看来,Dalvik Heap里分配的内存并没有增加许多,说明问题是不能只在Dalivk Heap里就能解决的,也许是别的部分出现了问题?接下面我们就继续深挖下去。
如何提升App用户隐私合规性?以YonBuilder移动开发平台APICloud为例 在移动应用开发领域,如果企业的应用程序未采用动态权限方式获取用户的隐私权限,将无法上架Google Play及国内的各大应用市场。对于一款标准的移动端商业app,动态权限功能已经成为必不可少的标配功能。 本文主要介绍如何使用YonBuilder移动开发技术,实现移动端的动态权限功能。
相关文章
- 面试百问:如何测试App性能?
- uni-app - 实现多选功能,点击项目时选中并高亮显示(支持全选 / 反选,以及轻松的 “回显“ 数据)点击选中并改变样式,全端兼容 H5 App 小程序,代码高效简洁无 BUG
- uni-app - 文本展开 / 收起折叠功能,支持自定义样式(当文本内容超出规定行数后,展开收起折叠的功能)兼容 H5 / App / 小程序且易用更容易修改的插件组件源码,超详细的示例代码及注释
- uni-app - 使用echarts 图表(H5、APP)
- 面试百问:如何测试App性能?
- 移动App性能测评与优化第1章
- 移动App性能测评与优化1.2.4 新的问题
- 移动App性能测评与优化1.3.2 问题所在
- 移动App性能测评与优化1.4.3 zygote共享内存机制
- 移动App性能测评与优化1.6 本章小结
- 移动App性能测评与优化第2章
- 移动App性能测评与优化2.1.1 硬件测试
- 移动App性能测评与优化2.2.1 优化方法一:CPU时间片
- 移动App性能测评与优化2.2.2 优化方法二:wake lock
- 产品周报第30期|编辑器支持自定义写作模板;MarkDown编辑器接入质量分检测功能;CSDN APP V5.2.0版本发布
- 《为iPad而设计:打造畅销App》——将iPad用于教育的可能性
- 检测iOS的APP性能的一些方法
- 集成App Linking服务后无法正确跳转到应用的解决方案
- Android性能优化之App应用启动分析与优化
- 移动应用APP性能测试白皮书
- 弄App Store提示和技巧推荐
- build-your-first-mobile-app(第一个 PhoneGap cordova Coldfusion App)
- APP性能测试之GT 测试