首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >getExternalStorageDirectory不可用时的后备解决方案?

getExternalStorageDirectory不可用时的后备解决方案?
EN

Stack Overflow用户
提问于 2012-07-13 11:22:31
回答 1查看 642关注 0票数 4

我目前使用Environment.getExternalStorageDirectory()获取一个位置,在那里我可以临时存储一些数据,然后在被使用后被删除。此数据的范围为1-100MB。

这工作得很好,但在某些情况下,外部存储的状态会被移除或卸载,等等。我无法访问来存储我的数据...

我的问题是,当此存储不可用时,什么是一个好的后备解决方案?

我的目标是Android 1.6和更高版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-13 12:51:15

请注意,您可以直接should not use Environment.getExternalStorageDirectory()返回的路径:

应用程序不应该直接使用这个顶级目录,以避免污染用户的根命名空间。应用程序私有的任何文件都应该放在由Context.getExternalFilesDir返回的目录中,如果卸载应用程序,系统将负责删除该目录。其他共享文件应放在getExternalStoragePublicDirectory(String)返回的某个目录中。

使用getFilesDir()返回的路径将你的应用程序专用的文件存储在内部存储getExternalFilesDir()上,以存储在外部存储上。

如果您临时存储数据,请考虑使用缓存目录。

当设备存储空间不足时,这些文件将首先被删除。

在外部文件系统上使用方法:getCacheDir()getExternalCacheDir()。请阅读文档,了解它们之间的重要区别。

如果要存储的数据量不大,最好使用内部存储。否则,您将不得不管理检测外部存储是否可用的复杂性,如果没有,则退回到内部存储。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11463695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档