我正在使用通用池以每1秒间隔将精灵添加到AndEngine中的场景中。

当添加精灵时,当它们与某些对象碰撞时,我将对其进行回收。

我不断收到这个错误

12-27 12:45:07.890: E/AndEngine(25299): More items recycled than obtained!
12-27 12:45:07.890: E/AndEngine(25299): java.lang.Exception
12-27 12:45:07.890: E/AndEngine(25299):     at org.anddev.andengine.util.Debug.e(Debug.java:117)
12-27 12:45:07.890: E/AndEngine(25299):     at org.anddev.andengine.util.Debug.e(Debug.java:107)
12-27 12:45:07.890: E/AndEngine(25299):     at org.anddev.andengine.util.pool.GenericPool.recyclePoolItem(GenericPool.java:127)
12-27 12:45:07.890: E/AndEngine(25299):     at com.fttech.hungryhippos.Arcade_MainGame$1.onUpdate(Arcade_MainGame.java:738)


它不会导致强制关闭,但我确实担心会在以后导致问题。

是我应该担心的错误吗?

这也是我如何回收我的物品..

@Override
protected void onHandleRecycleItem(final Sprite pItem) {
    pItem.setVisible(false);
    pItem.setIgnoreUpdate(true);

}

最佳答案

从AndEngine论坛上的herpderp:


  这就是说的意思。在GenericPool来源中有一个成员
  变量,在调用getPoolItem时增加,并减少
  调用recyclePoolItem时。如果它降到零以下-在其他
  话来说,如果调用recyclePoolItem的次数超过了getPoolItem的调用次数
  调用-然后您收到该错误消息。
  
  没有解决此问题的简单方法。你只需要看看
  您的代码,特别是在回收和获取池项的位置,
  并尝试找出为什么太频繁调用recyclePoolItem的原因。

关于java - 通用池“回收的物品多于获得的物品”问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8647673/

10-08 23:55