美文网首页
虚幻 Unreal Engine 4内存管理

虚幻 Unreal Engine 4内存管理

作者: 珏_Gray | 来源:发表于2018-12-26 11:12 被阅读0次

不受内存管理的内存


  • malloc & free
  • new & delete
    new与malloc的区别在于,new在分配内存完成之后会调用构造函数。

内存管理的内存


  • 对于不是继承自UObject的Native C++类,使用TSharedPtr、TAutoPtr、TWeakPtr、TSharedRef、TScopedPointer管理
  • 对于继承自UObject的子类
    创建: UObject::NewObject<> 或是 UObject::ConstructObject<>,其中ConstructObject可以做更复杂的参数配置
    销毁:当计数为0时,自动释放;调用UObject::ConditionalBeginDestroy()手动释放。若要强制调用垃圾回收,则调用UWorld::ForceGarbageCollection(true)。
  • 对于继承自AActor的子类
    创建: UWorld::SpawnActor<>
    销毁: AActor::Destroy()
  • TArray<>数组需要用UPROPERTY()修饰,否则会导致内存管理错误
  • 继承自UActorComponent的组件,使用AActor::CreateDefaultSubobject<>,同样组件的指针变量也需要用UPROPERTY()修饰。

相关文章

网友评论

      本文标题:虚幻 Unreal Engine 4内存管理

      本文链接:https://www.haomeiwen.com/subject/luaclqtx.html