标签:
通过360手机助手图示,我们可以很清楚地看到整个手机存储空间分成三块:
各目录结构图如下:
通过手机自身查看,如图:
图中的16G指的是:system分区+cache分区+recovery分区+data分区+sdcard(内置sd卡)分区加起来16GB
三者之间的关系:
安装程序到手机或sd卡,都是将程序分成两部分安装,一部分在“系统文件盘”建立一个程序的第一部分,再在内置或外置sd卡上建立程序的第二部分,所以说360手机卫士的安装程序到手机或者sd卡选项,
指的是程序的第二部分的存放位置,第一部分永远在“系统文件盘”。程序只能安装在 data分区或者是sdcard分区 外置SD卡不能用来安装程序(前提是你有内置SD卡,如果你没有内置SD卡,那么外置SD卡就是sdcard分区),只能存放一些文件,如图片,音乐 ,视频等。系统空间一般连电脑上看不到 ,通过360等程序可看到。
我们的程序使用到两部分空间:一个是系统空间中的data文件目录,通过getFileDir方法获取。一个是内置SD卡空间通过Environment.getExternalStorageDirectory(),下面进行分别验证。
1、验证系统空间:我们的程序通过getFileDir方法来获取路径/data/data/com.example.testwebview/files,这个路径对应的是系统空间中的data目录。
我们做demo可获取Environment.getDataDirectory()目录对应的存储空间的剩余大小为128M,对应系统空间的剩余容量,如图示红圈标注
2、验证内置 SD卡空间。
我们的程序通过Environment.getExternalStorageDirectory()方法获取路径/storage/emulated/0,这个路径对应的就是内置SD卡的路径。只不过系统空间持有内置SD卡的映射。
我们做demo可获取Environment.getExternalStorageDirectory()目录对应的存储空间的剩余大小为107M,能够对应SD卡的剩余容量,如图示红圈标注
关于Environment.getExternalStorageDirectory()方法,我们看一下官方文档的解释,可详细看红色标识的部分
可见,用此方法获取的存储路径是内置存储器(内置SD卡),这种存储器区别于受保护的内部存储空间(系统空间)
我们2.9的程序是这样的流程,
实际上这样也不太合理,因为系统空间中包括内置SD卡的空间,所以合理的的压图流程应为:
android手机存储空间划分及压图路径选取
标签:
原文地址:http://blog.csdn.net/yclfdn2004/article/details/51322663