众所周知,安卓有system分区和data分区以及cache分区。
但是,有时软件全装卡里了data还在减少?
其实是因为程序要生成dalvik-cache缓存(在data/data下的数据其实很少,比如缓存数据每个程序也就几十kb真正占内存的就是dalvik-cache,比如安DocumentsToGo就会生成4.5m的文件。你可以进目录看看!),就在data/dalvik-cache目录下。
这是用于优化程序的,即使你全删除重启后还会生成!
【dalvik-cache解释当Android启动时,DalvikVM监视所有的程序(APK文件)和框架,并且为他们创建一个依存关系树。
DalvikVM通过这个依存关系树来为每个程序优化代码并存储在Dalvik缓存中。
这样,所有程序在运行时都会使用优化过的代码。这就是当你刷一个的ROM时,有时候第一次启动时间非常非常长的原因。
当一个程序(或者框架库)发生变更,DalvikVM将会重新优化代码并且再次将其存在缓存中。】
因此软件安装数量仍然受到手机自带空间限制。。。
不过按照思路可以把dalvik-cache移到TF卡,用Linux的概念是建立软链接,把TF卡的EXT分区映射到dalvik-cache。
下面我要教你移动dalvikcache到ext3分区。这样不至于装软件受到rom空间大小显示。
本帖隐藏的内容
1、手机与电脑连接正常,手机已经成功root。
2、准备文件:把adbshell.rar解压到电脑c盘根目录。
/
1、首先按llbaixuetx的帖子:《内存卡分区教程+link2sd把程序安装到sd卡第二分区+移动程序到rom系统内存》http://bbs.hiapk.com/thread-1696296-1-1.html进行分区,并确认已成功;(分区有点难,我个人建议用AcronisDiskDirector这软件将sd分区)不会的在点评里说一下或在一楼回复
2、用R.E管理器把/data/dalvik-cache/复制到/data/sdext2/
3、打开cmd:切换到adb.exe这个文件所在的目录(应该会吧,先打出所在哪个盘例如在f盘就F:回车,转到文件夹根目录就cd文件名再回车),adbshell回车
此时如果出现$,输入su回车,查看手机屏幕,出现请求权限提示,选择“允许”,这时命令提示符就出现了#(说明登陆root用户)
4、注:(此步骤开始有风险,因为dalvik-cache目录apk运行的必要,太多应用会因系统一时恢复不来就崩溃了)
目前已知B16、B15可行(测试过的)
在#提示符后输入命令(命令顺序不可颠倒):
rm-r/data/dalvik-cache(删除dalvik-cache目录)
ln-s/data/sdext2/dalvik-cache/data/dalvik-cache(建立映射关系)注:此时仍保持连接
5、上述命令运行完毕,用R.E管理器查看/data/dalvik-cache的容量,如显示为EXT3即SD卡的第二分区大小,则表明dalvik-cache已成功移到sd卡,从此以后程序缓存将会自动存储到sd卡的LinuxEXT分区中。
6、输入:reboot(重启手机)
觉得还不够省的可以试试:将/data/data文件夹下的文件链接建立映射关系也会增大;当然同理进行链接(只不过把dalvik-cache改为data就OK)
同样,在#提示符后输入命令
rm-r/data/data(删除data目录)
ln-s/data/sdext2/data/data/data(建立映射关系)
之后步骤同上
上面提到的ADBSHELL附件下载
本帖隐藏的内容
adbshell.rar(365.59KB,下载次数:158) |
|