Caching 缓存技术

电玩女神 2022-12-07 12:20 333阅读 0赞

如果我们的代码反复调用导致堆分配的函数,然后丢弃结果,这将创建不必要的垃圾。相反,我们应该存储对这些对象的引用并重用它们。这种技术称为缓存。 在下面的示例中,每次调用该代码都会导致堆分配。这是因为创建了一个新数组。

  1. void OnTriggerEnter(Collider other)
  2. {
  3. Renderer[] allRenderers = FindObjectsOfType<Renderer>();
  4. ExampleFunction(allRenderers);
  5. }

下面的代码只导致一个堆分配,因为数组只创建和填充一次,然后缓存。缓存的数组可以反复使用,而不会产生更多的垃圾。

  1. private Renderer[] allRenderers;
  2. void Start()
  3. {
  4. allRenderers = FindObjectsOfType<Renderer>();
  5. }
  6. void OnTriggerEnter(Collider other)
  7. {
  8. ExampleFunction(allRenderers);
  9. }

发表评论

表情:
评论列表 (有 0 条评论,333人围观)

还没有评论,来说两句吧...

相关阅读

    相关 cache.php,缓存 - Cache

    缓存 配置 缓存用法 递增与递减 缓存标签 缓存事件 数据库缓存 配置 Laravel 为各种不同的缓存系统提供一致的 API 。缓存配置文件位在 config/cach

    相关 Caching 缓存技术

      如果我们的代码反复调用导致堆分配的函数,然后丢弃结果,这将创建不必要的垃圾。相反,我们应该存储对这些对象的引用并重用它们。这种技术称为缓存。 在下面的示例中,每次调用该代

    相关 Cache——缓存

    前言:    其实这是我在一本书中看到的一篇文章感觉写的挺有意思的,就谢谢自己的小感觉! 缓存是什么?    书中解释缓存原来指的是存放物品的场所。在当技术用语的