Android 出现
invalid address or address of corrupt block 0xb9137b98 passed to dlfree
Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdeadbaad in tid 18166 (FinalizerDaemon)
android传递给dlf的损坏块0xb8ff8e38的地址或地址无效
有哪位大佬出现过啊 是调用so出现了问题呢 还是线程出的问题求大佬帮忙啊
这是我的代码
private class ReadThread extends Thread {
private byte[] outBuf;
private String substring;
@Override
public void run() {
super.run();
long time1 = System.currentTimeMillis();
byte[] buf = new byte[512];
int length = 0;
//判断进程是否在运行,更安全的结束进程
while (!threadStatus) {
Log.d(TAG, "进入线程run");
//64 1024
byte[] buffer = new byte[64];
int size; //读取数据的大小
try {
size = inputStream.read(buffer);
if (size > 0) {
long time2 = System.currentTimeMillis();
if (time2 - time1 < 3) {
continue;
}
System.arraycopy(buffer, 0, buf, length, size);
length += size;
if (length > 256) {
buf = new byte[512];
length = 0;
} else if ((length > 3) && (buf[length - 1] == 0x0d)) {
outBuf = new byte[length - 1];
System.arraycopy(buf, 0, outBuf, 0, length - 1);
substring = new String(outBuf);
onDataReceiveListener.onDataReceive(outBuf, size);
break;
} else {
Thread.sleep(10);
}
Log.e("tag", "run: 接收到了数据大小:" + String.valueOf(size));
}
} catch (IOException e) {
Log.e("tag", "run: 数据读取异常:" + e.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
}