您当前的位置: 首页 >  缓存

Peter_Gao_

暂无认证

  • 0浏览

    0关注

    621博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Caching 缓存技术

Peter_Gao_ 发布时间:2020-09-15 20:22:58 ,浏览量:0

 

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

 
  1. void OnTriggerEnter(Collider other)

  2. {

  3.     Renderer[] allRenderers = FindObjectsOfType();

  4.     ExampleFunction(allRenderers);

  5. }

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

 
  1. private Renderer[] allRenderers;

  2.  
  3. void Start()

  4. {

  5.     allRenderers = FindObjectsOfType();

  6. }

  7.  
  8.  
  9. void OnTriggerEnter(Collider other)

  10. {

  11.     ExampleFunction(allRenderers);

  12. }

 

关注
打赏
1664521772
查看更多评论
立即登录/注册

微信扫码登录

0.0358s