Unity 3D - GC(垃圾回收)

Unity 3D - GC(垃圾回收) :

产生原因 :

new创建对象时 , 当可分配的内存不足GC就会去回收未使用的对象 .

影响 :

GC操作是非常复杂的 , 会占用很多CPU时间 , 对于移动设备来说频繁的垃圾回收会严重影响性能 .

避免方法 :

  • 减少用new创建对象的次数,在创建对象时会产生内存碎片,这样会造成碎片内存不法使用
  • 使用公用的对象(静态成员,常量),但是不能乱用,因为静态成员和常量的生命周期是整个应用程序。
  • 在拼接大量字符串时StringBuilder。在使用注意,创建StringBuilder对象时要设置StringBuilder的初始大小如:
    StringBuilder sbHtml = new StringBuilder (size);
  • 使用object pool(对象池) .

你可能感兴趣的:(Unity3D)