Unity 引用内存泄漏
GameObject 弱引用
在Destroy后,其仍然alive,弱引用已经丢失 ≠ null,但是 equal(null)
1、存在引用没有赋空
相关类直接引用,该类没有辅空或者该对象没有赋空
组件类内部引用,组件没有赋空
【Unity 引用内存泄漏】2、没有调用GC
3、AB的卸载最多只会让GameObject的内容丢失,并不会影响该节点的存在
4、协程无限循环没有释放掉
5、修改后需要确保ab中C#的引用关系没有发生变换,如果发生变换,需要重新出ab
打包为ab的prefab中还有C#会通过引用的方式使用当前代码,而不会打包到包内
注:
1、equal 检查内容(contents),而 == 检查引用标识(Reference Identify)
2、如果delegate加同一个方法多次时,会执行多次,且需要删除多次,为了避免重复添加:
对于delegate的机制使用需要注意:增加列表机制,在+时只有不存在列表中才进行,-时也一样
Unity Reference 调试工具下载
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 解决SpringBoot引用别的模块无法注入的问题
- Unity和Android通信系列文章2——扩展UnityPlayerActivity
- Java内存泄漏分析系列之二(jstack生成的Thread|Java内存泄漏分析系列之二:jstack生成的Thread Dump日志结构解析)
- Dubbo引用服务
- iOS内存对齐原则
- unity探究UGUI的Image中sprite和overrideSprite的区别
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 内存管理概念与原理以及解决办法
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc