限时免费 | 用正确的方式,三天搞定Mono堆内存泄漏!
来源:互联网 发布:网络传播正能量的例子 编辑:程序博客网 时间:2024/05/03 12:42
原文链接:https://blog.uwa4d.com/archives/MonoMemoryLeak.html
堆内存泄露可谓项目的“癌症”之一,其泄露方式多种多样,让大多数研发团队无法入手,更有不知多少项目因此而搁浅。为此,UWA今天推出了堆内存分析功能,帮助大家在解决堆内存泄漏的问题时能够有的放矢。该功能已在UWA多次的深度优化项目中得到验证:仅需三天,彻底告别堆内存泄漏!
一、堆内存分析报告界面
如下图,用户可以在报告的设备列表(右上角)中选择“Mono”,就可以看到对应的堆内存分析报告。该报告主要提供 堆内存具体分配 和 堆内存泄露分析 两大功能。下面我们将对这两个功能分别说明。
Mono 堆内存分析报告界面
二、堆内存具体分配
相较于之前UWA报告中的Top堆内存函数功能,新增的堆内存具体分配会更详尽地标明其堆内存分配的出处,让用户对代码的堆内存分配一目了然,从而进行快速定位以及优化逻辑代码的堆内存开销。
堆内存具体分配界面
如上图所示,UWA报告中可以查看深度的代码内存分配堆栈,对于到底哪些函数分配了多少堆内存,研发团队可以一目了然。同时,我们对逻辑代码进行分析和筛选,将System函数、Unity函数和逻辑代码函数进行区分,便于用户进行针对性的优化。
三、堆内存泄露分析
该功能将分析Mono堆内存的实际占用情况,在堆内存泄露分析界面,我们会根据用户的不同级别,列出不同数量的逻辑代码数量。点击特定的函数名,即可进入相应的代码界面。
UWA堆内存泄漏分析界面
函数界面中会显示该函数在游戏运行过程中的真实堆内存占用情况。同时,点击下方柱状图中任何一个条形柱,都能看到其详细的堆内存实际使用情况。
另外,通过点击上图右方的“蓝色箭头”,可以查看某些函数中生成的驻留在内存中的详细变量情况,从而让你更快地判断和定位堆内存的泄露点。
如何查看堆内存泄漏?
用户可以通过选择柱状图中的任意两次内存采样,对内存变化进行比较,从而可以捕捉到具体的泄露函数,以及泄露的具体内存和变量。
愚人节不愚你,限时免费!
如此实用高效的功能,是否想抢先试用下呢?这里小编将再增重磅福利:即日起至六月底,凡是在UWA上提交性能检测的用户均可免费使用该功能(原为专业会员权益),福利每人都有,快来给自己的项目进行一次彻底的查漏补缺吧!
又给大家安利了一波福利,小编自我感觉萌萌哒~
- 限时免费 | 用正确的方式,三天搞定Mono堆内存泄漏!
- 搞定C++内存泄漏
- MediaPlayer源码存在的内存泄漏问题,释放资源的正确方式
- Handler的正确使用,防止内存泄漏
- 内存泄漏的一种方式
- 轻松搞定C++内存泄漏
- Unity游戏Mono内存管理与泄漏
- 内存是手游的硬伤——Unity游戏Mono内存管理与泄漏
- 内存是手游的硬伤——Unity游戏Mono内存管理与泄漏
- 内存是手游的硬伤——Unity游戏Mono内存管理及泄漏
- 限时免费不可不知的秘密
- 限时免费不可不知的秘密
- 用正确的姿势来说说Android上的内存泄漏问题
- android内存泄漏分析的一种方式
- Android 处理内存泄漏的方式
- 内存泄漏的原因和处理方式
- mono中的内存泄漏和WeakReference(弱引用)的使用
- mono中的内存泄漏和WeakReference(弱引用)的使用
- Android 4.4 Graphic系统详解(2) VSYNC的生成
- iPad + iOS!iOS 11 将大大改进 iPad 的工作能力
- 浅谈--java线程池
- Android:OpenCV学习日记(一)-- 环境搭建
- xcode9 新功能
- 限时免费 | 用正确的方式,三天搞定Mono堆内存泄漏!
- launchMode使用详解
- 日期时间函数
- TFRecords 文件的生成和读取
- Okhttp3再封装,支持上传下载,
- 八皇后问题(递归解法)
- PL/SQL基本语法
- NSIS安装成功是否选择开机自动启动
- Ubuntu 14.04 LTS 下升级 gcc 到 gcc-4.9、gcc-5 版本