[600][adas]修复点云分发线程阻塞引起的OOM,点云分发线程中如果堆积>=1条数据时将先移除所有数据后再插入新的数据(无法确定点云数据是否有用数据,故移除所有)

This commit is contained in:
xinfengkun
2023-08-30 16:58:00 +08:00
committed by zhongchao
parent 4d6c3a602a
commit a128cca7a6

View File

@@ -63,6 +63,14 @@ public class DispatchHandler {
public void sendRawMessage(RawData raw) {
start();
if (messageType == MessagePad.MessageType.MsgTypePointCloud) {
boolean isIdle = mBaseHandler.getLooper().getQueue().isIdle();
// Log.i("TimeConsuming", mThread.getName() + " 当前消息队列是否处于空闲状态=" + isIdle);
if (!isIdle) {
mBaseHandler.removeCallbacksAndMessages(null);
// Log.i("TimeConsuming", mThread.getName() + " 移除所有消息后,当前消息队列是否处于空闲状态=" + mBaseHandler.getLooper().getQueue().isIdle());
}
}
Message msg = Message.obtain();
msg.obj = raw;
msg.what = WHAT_DISPATCH;