Lua与UE4的混合GC

  • 怎么做到Lua中持有的UE对象,不被UE GC
  • 怎么做到Lua中停止持有UE对象时,UE也能GC掉
  • 怎么做的UE中持有的Lua对象,不被Lua GC
  • 怎么做到UE中停止持有Lua对象时,Lua能GC掉

我们知道,UE4中实现了AddReferencedObjects接口,或者用UPROPERTY宏标记的对象,会被纳入自动GC管理中,当没有对象引用此Object时,自动GC,Lua也是类似,当一个表没用其他对象引用的时候,会自动GC,那么Unlua中,我们可以看到UObject除了被UE引用,还会被Lua端引用,那么假如什么都不管,UE的对象在不被引用的时候自动GC,但是Lua还引用他,便会访问到脏数据,那么Unlua是怎么解决的呢?

怎么做到Lua中持有的UE对象,不被UE GC

Lua对象在和UObject绑定的时候,会在代码中将UObject加入不GC的对象FGCObject的ReferencedObjects,这样,确保了Lua中访问的UObject对象实例不会被UE GC自动回收

UE4 Unlua源码解析12 - Lua与UE4的混合GC相关推荐

  1. UE4 Unlua源码解析1 - 读源码的前置知识

    源码的前置知识 1 lua.h内的方法 lua和C交互的API 1.1 lua_register 1.2 lua_gettop 1.3 lua_pop 1.4 lua_tolstring 1.5 lu ...

  2. Jdk1.6 JUC源码解析(12)-ArrayBlockingQueue

    功能简介: ArrayBlockingQueue是一种基于数组实现的有界的阻塞队列.队列中的元素遵循先入先出(FIFO)的规则.新元素插入到队列的尾部,从队列头部取出元素. 和普通队列有所不同,该队列 ...

  3. Redis源码解析(15) 哨兵机制[2] 信息同步与TILT模式

    Redis源码解析(1) 动态字符串与链表 Redis源码解析(2) 字典与迭代器 Redis源码解析(3) 跳跃表 Redis源码解析(4) 整数集合 Redis源码解析(5) 压缩列表 Redis ...

  4. BAT高级架构师合力熬夜15天,肝出了这份PDF版《Android百大框架源码解析》,还不快快码住。。。

    前言 为什么要阅读源码? 现在中高级Android岗位面试中,对于各种框架的源码都会刨根问底,从而来判断应试者的业务能力边际所在.但是很多开发者习惯直接搬运,对各种框架的源码都没有过深入研究,在面试时 ...

  5. 视频教程-YOLOv3目标检测:原理与源码解析-计算机视觉

    YOLOv3目标检测:原理与源码解析 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多项 白勇 ¥78.00 ...

  6. APISIX源码解析-启动篇【ops.lua - start】

    APISIX源码解析-启动篇[ops.lua - start] 命令开始入口 ops.execute(env, arg) 命令参数校验 目前仅支持:help.version.init.init_etc ...

  7. UE4之Import源码解析

    参考: UE4导入FBX模型源码解析 导入按钮: 函数调用点: 弹出这个页面: 对应代码如下:

  8. Spring5源码 - 12 Spring事件监听机制_异步事件监听应用及源码解析

    文章目录 Pre 实现原理 应用 配置类 Event事件 事件监听 EventListener 发布事件 publishEvent 源码解析 (反推) Spring默认的事件广播器 SimpleApp ...

  9. 12、常见Conditional注解源码解析(ok)

    参考资料:彻底搞定 Java 注解 Spring Boot中所有的@Conditional 注解如下: Conditional (o.s.context.annotation)|-Conditiona ...

最新文章

  1. 关于Spring中的context:annotation-config/配置(开启注解)
  2. BW标准数据源初始化设置
  3. 产业丨一文读懂人工智能产业链,未来10年2000亿美元市场
  4. keepalive 配合mysql主主复制
  5. 海量日志数据分析与应用》场景介绍及技术点分析
  6. Linux Kbuild文档 3
  7. 【OpenCV 例程200篇】20. 图像的按位运算
  8. m1芯片MacBook Air安装arm版MacTeX及配置
  9. Android 内存泄漏检测工具
  10. windows10 安装 rancher desktop及测试案例
  11. 【语音隐写】基于matlab GUI DWT+SVD音频水印嵌入【含Matlab源码 1409期】
  12. git+vue项目实战
  13. 计算机网络telnet命令作用,telnet命令使用方法详解
  14. 《人生效率手册》学习总结
  15. H5 微信分享显示标题和图标
  16. 【video】视频压缩编码和音频压缩编码的基本原理
  17. Linux期末复习第三章
  18. 跳槽最大原因不是为钱,你信吗?
  19. 人物摄影中的基本取景法 特写和大特写
  20. 软件测试周刊(第67期):用一颗浏览的心,去看待人生,一切的得与失、隐与显,都是风景与风情。

热门文章

  1. 微信小程序全面实战,架构设计 躲坑攻略
  2. quartus下载的时候program/configure verify blank-check 这些选项的作用
  3. python学习笔记,初学者Python3
  4. idea解析文件部分乱码及其idea 设置编码
  5. 2020.11.01 使用OpenCV进行图像形态学操作(开、闭、梯度)【OpenCV C++】
  6. SystemC/TLM: sc_vector
  7. COJ 1163: 寒衣调
  8. 51单片机基础之DS1302
  9. centos7 team 绑定
  10. jpa查询表的部分字段