博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决切换场景时NGUI图集资源未释放的问题
阅读量:4652 次
发布时间:2019-06-09

本文共 544 字,大约阅读时间需要 1 分钟。

使用unity3d编辑器,在切换场景的时候。NGUI的图集没有释放造成内存不足游戏闪退的问题。

默认情况下,unity3d切换场景之后会释放不用的内存,即内部会调用Resources.UnloadUnusedAssets从而释放未被引用的资源。

问题是。从编辑器的Profiler查看内存使用情况,发现NGUI的图集并没有被释放。

解决的方法:

1.UnloadUnusedAssets 仅仅会在资源没有引用的时候才会有效,包含脚本中静态变量的引用。

我们在关闭不论什么界面的时候。将界面静态变量的引用设置为null。

2.不要在编辑器中观察内存使用情况。

有些编辑器相关代码会引用资源,从而让资源不能释放。

比如,假设你从Project文件夹打开了某个Profab的子对象。那么这个Profab会被编辑器载入到内存(假设编辑器不载入这个对象,编辑器怎么可能知道这个对象有哪些子对象)。

也就是说,我们能够将游戏打包成windows版本号。再观察游戏的内存情况。

3.老版本号的NGUI内部可能会有静态变量对资源 的引用。一般升级NGUI会解决这些问题。

成功解决游戏过程中闪退的问题。

转载于:https://www.cnblogs.com/blfbuaa/p/6953186.html

你可能感兴趣的文章
表单元素及其格式
查看>>
洛谷 P2257 YY的GCD
查看>>
time模块
查看>>
Oracle Scheduler - Job and Argument
查看>>
同时update多张表的语句 -- 梦中的面试
查看>>
STM32f103C8T6 Bootloader设计(转)
查看>>
超声波测距温度补偿
查看>>
mysql级联删除
查看>>
面向对象(上)
查看>>
EFCodeFirst安装失败 解决规划
查看>>
各种域名解析的区别
查看>>
centos6.4搭建apache+mysql+php环境 ...
查看>>
Linux下安装和运行Wireshark
查看>>
python iter()的使用 迭代器 生成器的使用
查看>>
八数码块
查看>>
课后作业4
查看>>
VS11将拥有更好的单元测试工具和Fakes框架
查看>>
Linux Kernel 3.8.1 发布
查看>>
MFC程序出现“Debug Assertion Failed! File:dlgdata.cpp Line: 43 ”错误
查看>>
【并发】2、AtomicReferenceFieldUpdater初体验
查看>>