一个家伙在循环里不停地创建删除对象,一会儿就把消耗内存消耗光了。虽然JAVA有垃圾回收机制,但是回收并不是实时的,不是对象不用了就立即回收了。
他的代码大致如下
for(int ;;)
{
HisObject o = new HisObject();
//把o处理一下
o = null;
}
参考android中MotionEvent和Message的实现,可以实现对象的重复利用,一个是栈的方式,一个是队列的方式。使用方式是调里面的recycle()方法。比如Mesage,
在Looper的loop() 里是这样用的。
while(true) {
Message msg = queue.next();
......
msg.target.dispatchMessage(msg);
msg.recycle();
}
具体可以参考里面的recycle方式是如何实现对象重复利用的。