美文网首页
Android 存储总结

Android 存储总结

作者: kirito0424 | 来源:发表于2020-01-18 01:07 被阅读0次

    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 存储总结

          本文链接:https://www.haomeiwen.com/subject/agahzctx.html