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實例佔用。