在运行Android项目时,日志中会出现A resource failed to call close告警信息:
2021-05-26 11:26:52.564 11386-11401/com.xxx.example W/System: A resource failed to call close.
这是由于文件输入和输出流在调用后没有及时close导致的,需要在调用后手动close掉输入输出流
try {
FileInputStream fis = new FileInputStream(path);
FileChannel channel = fis.getChannel();
ByteBuffer byteBuffer = ByteBuffer.allocate((int) channel.size());
while ((channel.read(byteBuffer)) > 0) {
// do nothing
}
byte[] dataByte = byteBuffer.array();
channel.close(); //这里需要关闭channel,否则就会打印A resource failed to call close
return dataByte;
} catch (Throwable t) {
}