Unity Memory Profiler 查找内存泄漏
发布日期:2021-05-06 16:42:39
浏览次数:21
分类:技术文章
本文共 499 字,大约阅读时间需要 1 分钟。
目录
简述
最近在开发的项目运行时发现内存在不断增长,推测是发生了内存泄漏。解决内存泄露的难点在于找到泄漏的点,只要找到问题所在,一切就迎刃而解。
Memory Profiler Workflow
Memory Profiler的介绍和查找内存泄漏的操作步骤可见,这里有非常详细的说明,建议先看再结合实际操作。
简单来说查找内存泄漏的方式就是获取前后的两个时间点内存快照进行对比,对same和new分组中的条目进行分析,然后对不合理的地方进行排查。
查找例子
例子1
Diff和NativeSize选择Group,然后对NativeSize降序排序
在new组下发现存在多个同名的Sprite,查看代码时注意到在SpriteAtlas获取Sprite时使用了GetSprite()方法,而这个方法每次都会Clone一个资源在本机堆上,所以当UIImage多次切换时,就造成了泄漏。
例子2
根据Type分组,可以看到有有一个类个数明显存在异常
点击IPBoat的引用,可以看到是作为一个字典的key被引用,在使用后没有从字典中移除造成了泄漏
参考链接
Memory Profiler manual:
转载地址:https://blog.csdn.net/aa1_bb2/article/details/116377339 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月06日 00时20分33秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
进程同步机制(软件同步,硬件同步,信号量,管程)
2019-04-26
操作系统进程状态和状态转换详解
2019-04-26
经典的进程同步问题-----哲学家进餐问题详解
2019-04-26
【Android 视频硬件编码】screenrecord.cpp 代码中编码流程分析
2019-04-26
PHP生成缩略图、验证码类封装
2019-04-26
深入浅出JSONP--解决ajax跨域问题
2019-04-26
20150223 IMX257 LED驱动程序实现
2019-04-26
Ajax_iframe文件上传
2019-04-26
20150223 IMX257 BEEP驱动程序实现
2019-04-26
FormData实现form表单的数据打包
2019-04-26
20150223 IMX257 设备驱动模型之Kobject(一)
2019-04-26
HTML5的FileAPI实现文件的读取及超大文件的上传
2019-04-26
HTTP协议实现服务器浏览器代码文本压缩
2019-04-26
XHR详细讨论
2019-04-26
C指针典例
2019-04-26
20150222 IO端口映射和IO内存映射(详解S3C24XX_GPIO驱动)
2019-04-26
20150311 NandFlash驱动分析
2019-04-26
20150226 IMX257 总线设备驱动模型编程之总线篇(二)
2019-04-26
【转】Linux设备驱动之sysfs
2019-04-26