- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
一旦系统内存不足,Android 可能会自动删除 CacheDir 中的文件。但是文档说我们不应该依赖系统清除这个缓存,因此编写额外的代码来进行轮询和删除。
如果是这样,为什么要选择 getCacheDir()
而不是 getFilesDir()
?两者都在内存中,后者在清理内容和时间方面为开发人员提供了更多权力。
谢谢!
最佳答案
Android may auto-delete the files in CacheDir once the system gets low on memory.
正确。第三方应用程序还可以从应用程序的缓存目录中删除文件。而且,正如 zapl 所说,用户可以从设置中手动清除应用程序的缓存。
But the docs say we should not rely on the system clearing this cache, and hence write additional code for polling and deleting.
也正确。
If this is the case, why should one opt getCacheDir() over getFileDir() ?
因为操作系统、第三方应用程序和用户可以清除缓存。然而,仅仅因为那些东西可以清空缓存并不意味着它们会自动清空缓存,所以你需要时常自己清理缓存。同样,虽然您的母亲可以打扫您的房间,但如果您不想被扫帚打到,您最好自己打扫房间。
and the latter offers more power to the developer in terms of what to clean up and when...
不,它没有。 getCacheDir()
返回一个 File
对象。 getFilesDir()
返回一个 File
对象。它们在“开发人员在清理内容和时间方面的权力”方面是等效的。
关于android - 为什么在 Android 上使用 getCacheDir(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13731203/
我正在尝试在应用程序缓存文件夹中创建子目录,但在尝试检索文件时我什么也没得到。我下面有一些关于如何创建子目录以及如何从中读取内容的代码,也许我只是做错了什么(很明显我哈哈)或者也许这是不可能的? (虽
当我调试时,我发现 GetCacheDir 返回 /data/data/yourapp/cache/ 但是当我存储文件时,我在该路径中没有发现任何东西(使用 shell),但是在 /sdcard/An
我想下载从 Dropbox 下载的图像并缓存它们以供进一步使用: String cachePath = mContext.getCacheDir().getAbsolutePath() + entry
我只能在扩展 Activity 的类中使用 getCacheDir() 吗?我想在 AsyncTask 中使用它,这样我就可以在其中保存时间密集型缓存文件。 谢谢克里斯 最佳答案 将其传递给您的 As
在此链接中:http://developer.android.com/training/volley/requestqueue.html 标题:设置网络和缓存 它像这样定义缓存: Cache cach
我通过 class 创建了一个 extends Activity 的文件,现在我想从另一个 extends Fragment 的类打开这个文件。 但显然不可能从未扩展 Activity 的 class
我正在使用以下代码在 Android 上保存和检索图像文件 (JPG): File cacheDir = context.getCacheDir(); 这些文件什么时候被删除?据我所知,这个目录并不可
我正在尝试以编程方式清除我的应用程序数据。但是我得到了一个带有以下代码的 NullPointerEXception。 这是我的代码:- public class MyApplication exten
一旦系统内存不足,Android 可能会自动删除 CacheDir 中的文件。但是文档说我们不应该依赖系统清除这个缓存,因此编写额外的代码来进行轮询和删除。 如果是这样,为什么要选择 getCache
我在应用程序中有一些可下载的内容(例如:游戏角色图像),在iOS中将它们保存到NSCachesDirectory路径中,我遵循iOS的准则,即应将可下载的内容保存在NSCachesDirectory中
Android 不允许在 cacheDir 中创建子目录吗?鉴于第三方(例如供应商)肯定需要缓存他们自己的文件,因此为我的缓存文件创建一个子目录并让我集成的第三方管理他们自己的缓存文件对我来说很有意义
context.getCachedir() 和 Environment getConDownloadCacheDirectory 是否相同? 我正在实现位图缓存,但不知道该使用哪一个。 如果我使用上下
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 4 年前。 我正在尝试使用Retrofit
我是一名优秀的程序员,十分优秀!