这篇博客介绍了UE4的内存模型相关的东西与我在运用UE4时相关的一些心得。
由于整个内存模型比较复杂,因此这篇博客的点可能会比较散乱……可能日后会进行整理(也可能不会)
UObject
和FUObjectItem
- UE4运行的基本单位是
UObjet
,然而UObject
针对于内存相关的东西都储存在结构体FUObjectItem
中。有个全局变量GUObjectArray
,可以通过以下代码来遍历所有的Objects:
for (FRawObjectIterator It(false); It; ++It)
{
FUObjectItem* ObjectItem = *It;
UObject* obj = ObjectItem->Object;
}
- 可以通过如下代码来获得一个
UObject
对应的ObjectItem
FUObjectItem* ObjectItem = GUObjectArray.ObjectToObjectItem(Object);
GUObjectArray
中有几个函数可以通过索引和ObjectIt