有时候我的adobe air应用程序变得非常慢,因为垃圾收集器开始在每个帧上连续工作并且需要超过800%的预算.它持续几分钟甚至更长时间.此问题仅在iPhone 4/4s上出现,并且在重新启动设备后,一切正常工作一段时间.
也许有人也有这种情况,并知道如何预防它的方法?
更新:已实施对象池和其他分配防护方法.所以没有什么可以收集,GC只是花费CPU来做任何事情.当这结束时,内存使用量仍然相同.即使使用相同的输入和场景,也不会每次都发生这种情况.所以我认为存在一些"不幸"的情况,分配的堆在某个阈值附近,AIR决定在从系统中取出另一个块之前进行清理.然后它找到了几个要处理的对象,并且不再需要新的块.在下一帧中,创建了很少的对象(非常少)并且重复了场景.
