Android 存储总结

1. 图示

Android存储

2. 使用方法示例

private void writeFile() throws IOException {
        // 内部存储 缓存目录
        File internalCacheFile = new File(getCacheDir(), "cache.txt");
        internalCacheFile.createNewFile();
        // /data/user/0/com.example.myapp/cache/cache.txt
        Log.d(TAG, "internalCacheFile path = " + internalCacheFile.getAbsolutePath());

        // 内部存储 file目录
        File internalFileFile = new File(getFilesDir(), "file.txt");
        internalFileFile.createNewFile();

        // 外部存储私有目录 缓存目录
        File externalCacheFile = new File(getApplicationContext().getExternalCacheDir(), "cache.txt");
        externalCacheFile.createNewFile();
        // /storage/emulated/0/Android/data/com.example.myapp/cache/cache.txt
        Log.d(TAG, "externalCacheFile path = " + externalCacheFile.getAbsolutePath());

        // 外部存储私有目录 picture file目录
        File externalFileFile = new File(getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES), "cache.txt");
        externalFileFile.createNewFile();
        // /storage/emulated/0/Android/data/com.example.myapp/files/Pictures/cache.txt
        Log.d(TAG, "externalFileFile path = " + externalFileFile.getAbsolutePath());
    }

2.1 执行代码后的内部存储

路径 /data/user/0/com.example.myapp(小米手机)

image

2.2 执行代码后的外部存储私有目录

路径 /storage/emulated/0/Android/data/com.example.myapp

image

3. 清除缓存 & 清除数据 & 卸载app

1. 清除缓存

清除缓存会删除 内部存储 & 外部存储私有目录 cache 下面的内容

内部存储

清除缓存后的内部存储

外部存储

清除缓存后的外部存储私有目录

注意:为了在清除缓存的时候能够正常清除与应用相关的缓存,请将缓存文件存放在getCacheDir()或者 getExternalCacheDir()路径下。

2. 清除数据

清除全部数据 会删除内部存储 和外部存储私有目录的全部数据

上一节中的目录都被清空了。

清除数据主要是清除用户配置。比如SharedPreferences、数据库等等,这些数据都是在程序运行过程中保存的用户配置信息,清除数据后,下次进入程序就和第一次进入程序时一样

3. 总结

为了让程序被卸载后,不在文件系统中留下毫无关联的无用文件。建议将应用相关的配置和缓存文件,存放在程序被卸载时,会自动删掉的文件夹下面,具体路径有:

  • /data/data/package/
  • getFilesDir()
  • getCacheDir()
  • getExternalCacheDir()(是否能够在程序被卸载时被删除与API的等级有关)
  • getExternalFilesDir()(是否能够在程序被卸载时被删除与API的等级有关)

音乐文件、视频文件、图片、电子书这种适合多个应用阅读和浏览的文件除外。这些可以放到上面说的公有目录去。

4. 引用

Android存储扩展学习-----应用的清除数据和清除缓存https://blog.csdn.net/oudetu/article/details/78664514)

你可能感兴趣的:(Android 存储总结)