这几天事情比较少,于是对前面用到的一些东西时行了总结。
android手机上面的存储空间主要有手机本身的存储空间和SD卡的存储空间。之前用的最多的是SD卡的存储空间,在总结的时候看了一下系统的源代码,很有收获。在手机安装应用时,系统会自动在/data/data目录下面以应用的主包名创建一个目录,默认还会在最后的那个目录里面创建一个lib目录。下面看一下系统获取存储空间的代码:
来自android2.3.3系统源代码/packages/apps/Settings/src/com/android/settings/applications/ManageApplications.java
531.mDataFileStats = new StatFs("/data");
532.mSDCardFileStats = new StatFs(Environment.getExternalStorageDirectory().toString());
748.mDataFileStats.restat("/data"); try { totalStorage = (long)mDataFileStats.getBlockCount() * mDataFileStats.getBlockSize(); freeStorage = (long) mDataFileStats.getAvailableBlocks() * mDataFileStats