在用户滑动以删除应用程序之前删除文件

Deleting a file before user swipes to remove the app

我有 2 个活动 SingActivity 和 ExoPlayerActivity。在 SingActivity 中,用户录制一首歌曲并将歌曲保存在内部存储中。歌曲一保存,我就打开 ExoPlayerActivity 来播放歌曲。 ExoPlayerActivity 有一个保存按钮。

如果用户按下保存按钮,那么我什么都不做,因为歌曲在录制后已经保存。如果用户没有按下保存按钮并且存在于 ExoPlayerActivity 中,我将删除保存的文件。假设用户在 ExoPlayerActivity 中并且用户将应用程序置于后台并从后台滑动应用程序,那么我也想删除文件,因为未按下保存。

所以我的问题是删除代码放在哪里?我不能放入 onDestroy 或 finish(),因为它们不会每次都被调用,并且在资源受限的情况下可能会导致问题。

也许可以尝试查看 onTrimMemory. If it's not useful, try to take a look at this answer,它需要您实施不同的方法,但它可能正是您要找的。

使用这种方法会出现很多错误(以防万一)我建议您使用 android 缓存来执行此操作:

参考Android developers| Save files on device storage

或者您可以在 Whosebug 上看到这个答案:Creating temporary files in Android