gpt4 book ai didi

android - getExternalStorageDirectory 不可用时的回退解决方案?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:06:07 27 4
gpt4 key购买 nike

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

这工作正常,但在某些情况下,外部存储的状态被删除或卸载等...我无法访问以存储我的数据...

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

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

最佳答案

注意你should not use Environment.getExternalStorageDirectory()直接返回的路径:

Applications should not directly use this top-level directory, in order to avoid polluting the user's root namespace. Any files that are private to the application should be placed in a directory returned by Context.getExternalFilesDir, which the system will take care of deleting if the application is uninstalled. Other shared files should be placed in one of the directories returned by getExternalStoragePublicDirectory(String).

使用getFilesDir()返回的路径在内部存储getExternalFilesDir() 上存储您应用的私有(private)文件存储在外部存储

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

These files will be ones that get deleted first when the device runs low on storage.

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

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

关于android - getExternalStorageDirectory 不可用时的回退解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463695/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com