我在Android开发中。开启了一个线程,这个线程是无限循环的。并且在这个线程里,我通过创建Handle的Message对象,然后handler.sendMessage(msg)。可是这样一来,LOGCat上就一直出现GC_CONCURRENT。请问我该怎么修改代码,或者用哪种方式才能即实现功能,又能减少GC的调用。
具体代码如下:
//线程
private class getData_thread extends Thread {
private Handler handler;
public read_thread(Handler h) {
this.handler = h;
}
Message msg = null;
@Override
public void run() {
while (READ_FLAG) {
msg = Message.obtain();
msg.obj = getData();
handler.sendMessage(msg);
super.run();
}
}
}
private static class dataHandler extends Handler{
@Override
public void handleMessage(Message msg) {
if (msg.obj != null) {
disposeData((byte[]) msg.obj);
}
super.handleMessage(msg);
}
}