在用户滑动以删除应用程序之前删除文件
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
我有 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