美文网首页
Android 文件路径简析

Android 文件路径简析

作者: 众少成多积小致巨 | 来源:发表于2019-11-06 23:38 被阅读0次

    1、概念

    内存: 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,所以说它是用于计算机运行时的,它不是用来存储数据的。

    内部存储外部存储: 内部存储我们称为InternalStorage,外部我们称为ExternalStorage,这两个概念来自于早期的Android智能机,4.4以前,内置存储就是内部存储,外置SD卡就是外置存储。我们通过getDataDirectory就可以获取内置存储根路径,通过getExternalStorageDirectory就可以获取外置SD卡根路径。4.4以后外部存储就包含两部分了,其中通过getExternalStorageDirectory获取的是机身存储的外部存储,而外置SD卡我们则需要通过getExternalDirs遍历来获取了。

    机身存储;机身存储是指手机自身携带的存储空间,出厂时就已经有了,4.4以前机身存储就是内部存储,4.4及以后机身存储包含了内部存储和外部存储。

    RamRom,以及扩展存储(TF卡)的概念。一个手机里面有内存,手机内置存储,以及SD卡, 它们分别是Ram,Rom,以及TF卡,这三种卡的性能,材质及价格都不一样,都有各自的用处。

    2、常用路径

    1.1 内部存储路径

    /data目录下的文件物理上存放在我们通常所说的内部存储里面

    内部存储的根路径
    Environment.getDataDirectory() = /data
    某个应用在内部存储中的files路径
    getFilesDir().getAbsolutePath() = /data/user/0/packname/files
    某个应用在内部存储中的cache路径
    getCacheDir().getAbsolutePath() = /data/user/0/packname/cache
    某个应用在内部存储中的自定义路径
    getDir(“myFile”, MODE_PRIVATE).getAbsolutePath() = /data/user/0/packname/app_myFile

    1.2 外部存储路径

    /storage目录下的文件物理上存放在我们通常所说的外部存储里面

    获取外部存储的根路径
    Environment.getExternalStorageDirectory().getAbsolutePath() = /storage/emulated/0
    Environment.getExternalStoragePublicDirectory(“”).getAbsolutePath() = /storage/emulated/0

    外部存储中的files路径
    getExternalFilesDir(“”).getAbsolutePath() = /storage/emulated/0/Android/data/packname/files
    外部存储中的cache路径
    getExternalCacheDir().getAbsolutePath() = /storage/emulated/0/Android/data/packname/cache

    1.3 其它

    /system用于存放系统文件,/cache用于存放一些缓存文件

    系统缓存
    Environment.getDownloadCacheDirectory() = /cache
    系统路径根
    Environment.getRootDirectory() = /system

    3、用户app路径

    这个路径可以是内部存储,也可以是外部存储,就看用户安装的位置,也即是 /data/packname 或者 xxx/data/package
    其目录下,常用的又有下面四个

    • cache下存放缓存数据
    getCacheDir()
    getExternalCacheDir()
    
    • databases下存放使用SQLite存储的数据
    • files下存放普通数据(log数据,json型数据等)
    getFilesDir()
    getExternalFilesDir(“”)
    
    • shared_prefs下存放使用SharedPreference存放的数据

    用户路径下文件会在用户卸载或者用户清除数据时删除
    设置里清除缓存只是清除app运行时的数据

    相关文章

      网友评论

          本文标题:Android 文件路径简析

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