清除应用缓存:应该删除哪些文件?

时间:2016-03-31 08:32:02

标签: android caching

我有一个应用程序,用户可以下载PDF和视频并将其存储在本地,以便他们不需要再次下载。这些PDF和视频只需要在应用程序中访问。我的意思是,只有应用程序可以找到这些文件,但它们可以由第三方应用程序打开(这样我就不需要专门为我的应用程序实现pdf阅读器和视频播放器) 。 我会通过文件路径向第三方应用程序调用一个意图。

用户应该能够从应用设置中删除所有这些文件,但也可以在用户使用设备应用设置清除应用缓存时删除。

因此,清除Android设备设置中的应用缓存也应删除下载的PDF和视频。

有一种优雅的方式吗?

使用FileProvider是否有意义,或者设备设置清除缓存没有触及FileProvider吗?

1 个答案:

答案 0 :(得分:2)

您可以通过以下链接找到Android中可用的不同存储选项:

Storage Options

您可以使用getCacheDir()或getExternalCacheDir()来获取存储文件的目录。

但是,您将无法使用意图直接与其他应用共享缓存中的文件。

要在缓存目录中共享文件,您必须实现FileProvider。 您可以从question找到更多信息。

这将实现您的目标,即在卸载应用程序时文件将被清除,您还可以与其他第三方应用程序共享缓存中的文件。