在外部存储器/ SD卡上缓存图像的推荐路径

sco*_*yab 3 android android-sdcard android-external-storage

当我在Android文件传输或Astro文件管理器中查看我的SD卡根目录时,它是一团糟,因为应用程序存储文件到处都是.

作为开发人员,我们通过缓存图像/文件等遵循最佳实践来使我们的应用程序更快,我们Environment.getExternalStorageDirectory()用来获取外部存储的根(而不是硬编码/ SD卡).但接下来会发生什么?理想的世界我们遵循一个惯例,将我们的缓存文件转储到外部存储的开放字段上?

以下是我从自己的设备/体验中看到的几个选项:

  • /.cache/app_name/
  • /.app_name/
  • /cache/<app_name>/
  • /data/<app_name>/
  • /com.package.name/
  • /app_name/

我目前更喜欢默认情况下隐藏在设备文件管理器上的第一个选项.

有没有人知道谷歌的推荐或几个流行/大牌应用程序遵循的约定?或者这是一个坏主意的原因?

And*_*res 6

根据Developer Docs

保存缓存文件

如果您使用的是API级别8或更高级别,请使用getExternalCacheDir()打开一个文件,该文件表示应保存缓存文件的外部存储目录.如果用户卸载了您的应用程序,则会自动删除这些文件.但是,在应用程序的生命周期中,您应该管理这些缓存文件并删除不需要的缓存文件以保留文件空间.

如果您使用的是API级别7或更低级别,请使用getExternalStorageDirectory()打开表示外部存储根目录的File,然后将缓存数据写入以下目录:

/ Android设备/数据/ <软件包> /高速缓存/

<package_name>是Java样式的包名,例如"com.example.android.app".

更多信息在这里

http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

希望能帮助到你