我目前使用Environment.getExternalStorageDirectory()获取一个位置,在那里我可以临时存储一些数据,然后在被使用后被删除。此数据的范围为1-100MB。
这工作得很好,但在某些情况下,外部存储的状态会被移除或卸载,等等。我无法访问来存储我的数据...
我的问题是,当此存储不可用时,什么是一个好的后备解决方案?
我的目标是Android 1.6和更高版本。
发布于 2012-07-13 12:51:15
请注意,您可以直接should not use Environment.getExternalStorageDirectory()返回的路径:
应用程序不应该直接使用这个顶级目录,以避免污染用户的根命名空间。应用程序私有的任何文件都应该放在由
Context.getExternalFilesDir返回的目录中,如果卸载应用程序,系统将负责删除该目录。其他共享文件应放在getExternalStoragePublicDirectory(String)返回的某个目录中。
使用getFilesDir()返回的路径将你的应用程序专用的文件存储在内部存储或getExternalFilesDir()上,以存储在外部存储上。
如果您临时存储数据,请考虑使用缓存目录。
当设备存储空间不足时,这些文件将首先被删除。
在外部文件系统上使用方法:getCacheDir()或getExternalCacheDir()。请阅读文档,了解它们之间的重要区别。
如果要存储的数据量不大,最好使用内部存储。否则,您将不得不管理检测外部存储是否可用的复杂性,如果没有,则退回到内部存储。
https://stackoverflow.com/questions/11463695
复制相似问题