Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
getExternalCacheDir()如何在Android上工作?_Android_File_Caching - Fatal编程技术网

getExternalCacheDir()如何在Android上工作?

getExternalCacheDir()如何在Android上工作?,android,file,caching,Android,File,Caching,据我所知,我们将频繁访问的对象缓存在比普通磁盘读取更容易访问的内存段中 getExternalCacheDir(),而不是getCacheDir()指向外部文件系统-在我看来,这是一个正常的getExternalFilesDir() Android如何优化对ExternalCacheDir的访问?它类似于Linux上的“交换”空间吗?getExternalCacheDir()和getExternalFilesDir()是两个不同的目录 区别在于,第一个文件仅用于临时文件或缓存文件,系统或用户(通

据我所知,我们将频繁访问的对象缓存在比普通磁盘读取更容易访问的内存段中

getExternalCacheDir()
,而不是
getCacheDir()
指向外部文件系统-在我看来,这是一个正常的
getExternalFilesDir()

Android如何优化对ExternalCacheDir的访问?它类似于Linux上的“交换”空间吗?

getExternalCacheDir()
getExternalFilesDir()
是两个不同的目录

区别在于,第一个文件仅用于临时文件或缓存文件,系统或用户(通过相应的设置按钮)可以删除这些文件以重新获得空间


第二个用于永久文件。无论如何,您必须考虑文档中关于返回目录的注意事项。

我基本上想知道外部文件系统上的缓存如何提供更快的访问。这个答案没有帮助。在这些方法中,术语cache的含义与计算机无关,并不表示这些目录提供更快的访问(正如您所说,它是具有相同访问时间的同一文件系统)但是表示这些目录有些隐藏,并且对于存储应用程序可能需要的文件很有用。我认为这里对“频繁访问的对象”有一些混淆。您不会使用getExternalCacheDir()目录来缓存Android设备上已经存在的项目。但是,您可以使用它来缓存从远程资源(如服务器)传输的项目。示例:浏览器缓存,您可以将X个最近使用的文件缓存在本地。在写性能方面,缓存目录与任何其他文件系统目录没有什么不同。请记住,使用这些方法存储的数据对于具有“读取外部存储”权限的其他应用程序都是完全可访问的。您应该假设此处存储的任何数据都可以被用户设备上的其他应用程序读取和修改(甚至可能是恶意的)。要获得更安全的数据存储,请改用getDir()或getCacheDir()。