分为:内部存肢庆储和外部存储
如何区分内部存储和外部存储:可以从物理和逻辑区分
从物理的角度区分,内部存储就是手机自带存储空间,外部存储就是外部接入的存储空间例如SD卡
从逻辑意义上区分,data,system 目录就是手机的内部存储,而 mnt 或者 storage目录下的sdcard0指向的sdcard目录就是外部存历咐握储。如果是手机自带的外部存储被称为机身外部存储,外置的SD卡则称之为外部存储。当然两者都称为外部存储也没关系。这里描述的内部存储和机身外部存储都属于机身存储;
逻辑区分是从4.4以上版本开始的;
获取内部存储路径和api对应关系
1,通过Environment
2,通过上下文Context
Build.VERSION_CODES.LOLLIPOP及以上版本新增的API
Build.VERSION_CODES.N及以上版本新增的API
特点:
1、内部存储路径中的文件是分类存储的,我们无法干涉,除了cache目录,别的目录系统不会自动创建
2、除了files目录,别的目录我们几乎都是无法手动 *** 作的
3、别的App几乎无法访问内部存储中的数据,除了用非法手段或者我们主动暴露
4、内部存储简渗目录下的文件夹及文件会随着app的卸载而被系统自动删除
外部存储又可分为共有目录和私有目录;
私有目录
私有目录:不需要访问权限
Android 在外部存储空间中也提供了特殊目录供App存放私有文件,该路径为:/storage/emulated/0/Android/data/包名/
注意:应用安装之后/storage/emulated/0/Android/data/是没有对应的应用文件夹的,需要手动调用对应的API创建;
获取私有目录路径
共有目录
共有目录:需要申请权限才能访问
权限:6.0以上需要动态申请
获取共有目录的API 29中已过时:
自己安装的程序,一般是放在 /data/app 以及 /data/data 下的。
如果是系统预置的程序,一般放于 /system/app 下。
常用安装路径:
SDK路径 C:\Users\Administrator\AppData\Local\Android\sdk
软件安装路径 C:\Program Files\Android\Android Studio
默认工程目录 C:\Users\Administrator\AndroidstudioProjects
Gradle插件目录 C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.9-all\3jdgemv0iv8uqohg3kcp2o88r1 目录下
安卓系统默认安装位置是在首祥渣手机内置的存储空间当中。
如果要切换到SD卡,需要按以下步骤迁移:
打开自己的手机,找到设置界面。
然后找到“通用”,不同版本的手机安卓系统可能不一样。然后找到"应用"程序列表。
在找到的应用程序列表里面,选择那些应用未自动安装到SD卡里宴码面的应用程序,选择“已安装”。
然后在打开的程序列表里面,选择移动的应用程序,点击查看详情。
点击“移动到SD卡”即可将程序文件成功移动到SD卡里面,如果者悄已经移动在SD卡了,这里会显示移动了手机内存。
getExternalCacheDir().getAbsolutePath()路径:/搭销storage/emulated/0/知漏游Android/data/packagename/cache
可以作为外部缓存的路径,卸载app时,会自动删除文件
Environment.getExternalStorageDirectory().getAbsolutePath()
路径:/storage/emulated/0
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath()
路径搜敏:/storage/emulated/0/DCIM
getExternalFilesDir(Environment.DIRECTORY_PICTURES).getAbsolutePath()
路径:/storage/emulated/0/Android/data/packagename/files/Pictures
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)