0
我的库代码会将字节数组通知给UI,然后排队。另一个线程将出队字节数组,并使用处理程序实例捆绑字节数组并发送消息来更新UI。它使用处理器如何避免处理程序中的内存泄漏?
代码片段来更新UI
public void run(){
while(running){
try {
byte[] msg=(byte[]) queue.getMsg();
Message message=new Message();
Bundle bundle=new Bundle();
bundle.putByteArray("img",msg);
message.obj=bundle;
handler.sendMessage(message);
message=null;
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但事情就是我5至10分钟后收到OutOfMemory例外。 使用Eclipse MAT堆转储显示堆的90%被更多的android.os.Message实例占用。