小编Mis*_*hes的帖子

垃圾收集器在每个帧上占用所有cpu时间的原因

有时候我的adobe air应用程序变得非常慢,因为垃圾收集器开始在每个帧上连续工作并且需要超过800%的预算.它持续几分钟甚至更长时间.此问题仅在iPhone 4/4s上出现,并且在重新启动设备后,一切正常工作一段时间.

也许有人也有这种情况,并知道如何预防它的方法?

更新:已实施对象池和其他分配防护方法.所以没有什么可以收集,GC只是花费CPU来做任何事情.当这结束时,内存使用量仍然相同.即使使用相同的输入和场景,也不会每次都发生这种情况.所以我认为存在一些"不幸"的情况,分配的堆在某个阈值附近,AIR决定在从系统中取出另一个块之前进行清理.然后它找到了几个要处理的对象,并且不再需要新的块.在下一帧中,创建了很少的对象(非常少)并且重复了场景.

Profiler截图

air garbage-collection memory-management actionscript-3

5
推荐指数
1
解决办法
492
查看次数