摘要:
原文地址 要进行垃圾回收,有两个条件:一、要知道所有的对象放在哪里,即内存中的位置。二、要知道对象的这块内存上,数据表示的是什么意思,是一个Float数还是Int数还是一个对象指针的值。具备这两个条件,才可以遍历所有的对象,找出没有被引用的对象,然后删除释放掉。 U3是如何满足这两个条件的呢,先看第一个。 U3里几乎所有的类,都以UObject为基类,一般核心基类都尽量做得简洁明了,但UObject却很复杂,有大量的static成员变量和成员函数,来实现包括对象构造、对象管理、垃圾回收、资源加载等功能。 首先看GObjObjects这个static TArray<UObject*> 阅读全文