最近,给手机的"存储空间不足"提醒弄得很烦人,便上网查找了资料,无意发现了app2SD+和link2SD技术。两者的原理几乎一样,其中link2SD更方便,但有些机型并不适用。本博客只讲述了link2SD。另外,本文是在APP2SD+开启原理及Re用管理器开启app2sd+方法这篇文章的基础上整理总结出来的,读者也可以参考这篇文章。
APK安装的占用空间的原理
例如 UC浏览器.apk,安装过程:
将UC浏览器.apk 重命名为UC浏览器.zip后用解压缩软件打开即可看到里面有 class.dex文件 和文件夹Lib。
1、首先会将 UC浏览器.apk 重命名为 com.ucmobile.apk 后复制到 /data/app 目录下。
2、将com.ucmobile.apk 包里的 class.dex 文件解压到 /data/Dalvik-Cache 目录下。
3、在/data/data 目录下创建 com.ucmobile 目录,将com.ucmobile.apk 包里的Lib(有的APK无此文件)下对应的 .so 文件复制到 /data/data/com.ucmobile/lib 目录下,UC浏览器使用产生的缓存、书签、设置等数据都存放在/data/data/com.ucmobile 下。
再加上后面app产生的数据,app的存储空间可以写成如下等式:
app的存储空间应该=原APK+class.dex+.so文件+(数据+缓存) (等式-1)