预热游戏对象:

tempObject = Instantiate(cubePrefab) as GameObject ;

tempObject .SetActive( false );

游戏对象tempObject调用三个方法:

Awake()、OnEnable()、OnDisable()

暂停游戏,启用游戏对象:

游戏对象tempObject调用如下几个方法:

OnEnable()、Start()、OnGUI()(连续调用2次)、OnWillRenderObject()

补充:

OnGUI():在游戏暂停状态下,每次快速点击鼠标,会连续6次调用该方法,慢速移动鼠标,会连续2次调用该方法。

OnWillRenderObject():在游戏暂停状态下,每次快速点击键盘,会连续2次调用该方法。

OnWillRenderObject调用次数还受摄像机数量影响

播放下一帧:

游戏对象tempObject调用如下几个方法:

FixedUpdate()、Update()、LateUpdate()、OnGui(连续调用2次)、OnWillRenderObject()

之后每一帧均重复如上

再次禁用游戏对象:

游戏对象tempObject调用如下方法:

OnDisable()

再次启用游戏对象:

游戏对象tempObject调用如下方法:

OnEnable()、OnGUI(连续调用2次)、OnWillRenderObject()

结论1:初始化游戏对象后立即禁用游戏对象,初始化方法中仅执行Awake()方法和OnEnable()方法。由于在整个实验过程中,Awake()仅执行一次,因此可在此处进行资源的预加载

结论2:Start()方法如果在一开始没有执行,则在Enable()时会执行一次,且仅会执行一次。目前没有想到比较好的应用场景。

结论3:OnEnable()方法在游戏对象创建及每次启用的时候都会执行,结合对象数据池,比较用作适合游戏对象的数据初始化。

结论4:在OnDisable()方法中对游戏对象的数据进行重置,称为立即重置。在OnEnable()方法中对游戏对象的数据进行重置,称为使用时重置。

参考资料:

Simple Reusable Object Pool - Help limit your instantiations!

http://forum.unity3d.com/threads/simple-reusable-object-pool-help-limit-your-instantiations.76851/#userconsent#

C# Memory Management for Unity Developers (part 3 of 3)

http://www.gamasutra.com/blogs/WendelinReich/20131127/203843/C_Memory_Management_for_Unity_Developers_part_3_of_3.php

最新文章

  1. 非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛
  2. IO多路复用之epoll总结
  3. python线程池实现
  4. COGS1008. 贪婪大陆[树状数组 模型转换]
  5. Django用已有的数据库
  6. STM32与FreeRTOS实现低功耗
  7. Eclipse自动打开实现类原型的工具
  8. css布局多列等高
  9. 【JAVA】 @override报错的解决方法
  10. Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue【3】
  11. sql like 查询
  12. Robot Framework-Windows版本安装
  13. iOS 中不同的modalPresentationStyle对parent view 的影响
  14. const 那点事儿
  15. hash算法与hashmap
  16. DIV内文字两端对齐
  17. 应用MySQL(开启远程登录权限)
  18. 表table
  19. 详解 ESLint 规则,规范你的代码
  20. Win10系列:UWP界面布局进阶2

热门文章

  1. Mybatis 的连接池技术
  2. 006_go语言中的if else条件语句
  3. 用Python做一个简单的翻译工具
  4. 利用mybatis的Generator的插件生成代码
  5. 补充的javascript 数据类型笔记
  6. 使用免费证书安装 ipa 到真机
  7. C#LeetCode刷题之#598-范围求和 II​​​​​​​(Range Addition II)
  8. Java实现经典七大经典排序算法
  9. VulnHub靶场学习_HA: Chakravyuh
  10. 微信小程序setData局部刷新列表