Skip to content

retriever.release后fd不释放 #285

@Liera-tech

Description

@Liera-tech

FFmpegMediaMetadataRetriever retriever = null;
try {
retriever = new FFmpegMediaMetadataRetriever();
retriever.setDataSource(path);
Logger.d(TAG, "decode path = " + path);
} catch (Exception e) {
Logger.e(TAG, "decode e = " + Log.getStackTraceString(e));
} finally {
try {
if (retriever != null) {
retriever.release();
Logger.d(TAG, "decode release path = " + path);
}
} catch (Exception e) {
e.printStackTrace();
}
}

调用以上代码后,执行文件被持有命令
C:\Users\liera>adb shell lsof /camera/media/DVR20250514170442.mp4
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
om.voyah.vshare 9751 system 6r REG 253,400 78633319 1996 /camera/media/DVR20250514170442.mp4

发现文件fd被持有不会被释放,导致即使删除本地文件后,空间也不会释放,最终磁盘耗尽

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions