柴油发动机机油泵坏了:小V精简dalvik-cache,增加data空间

来源:百度文库 编辑:偶看新闻 时间:2024/04/19 18:38:11
小V精简dalvik-cache,增加data空间http://www.h2ofans.com/thread-1005315-1-1.html先说说我的操作:
本人国行小V经过了root,以及system/app的精简,但是精简之后没有做系统初始化操作,这样一来增大了system分区,data分区没有变化,随后安装了许多软件,一部分安装在卡里(mnt/asec目录),一部分别安装在了data里(data/app目录),还有一部分安装在了system里(system/app),此时我的可用存储(data)只剩下了17MB多一点。
此时我发现data/dalvik-cache里有许多文件,我的操作是:首先备份这些文件,然后用re全部删除,删除之后发现data空间有了80MB多,比删除之前多出来63MB多,然后我重启了机子,重启的过程非常慢,重启之后发现dalvik-cache里的文件重新出现了,即系统重写了dalvik-cache,但是此时我的data空间成了51MB多,也就是说只有我的data 空间比原来的17MB多出来34MB多。
此时我的机子运转一切正常。
童鞋们可尝试一下。
对此问题的解释:
dalvik-cache文件夹下的文件是机子里所有的程序初始化时形成的一个优化了代码的系统关系树,每一个程序运行时是按照这个优化了的代码执行的,每次系统开机的时候首先检查程序在dalvik-cache里的优化了代码的系统关系树是否存在,如果不存在她得重新写入,这就是为什么删除之后重新开机时开机速度很慢的原因。那么重写了之后data为什么会增大那?因为我们之前在root之后精简了系统,但是那个精简,即SYETEM中的程序的删除仅仅是删除程序,并没有删除这些程序在dalvik-cache里的优化了代码的系统关系树,当然还有在data里安装了又删除了的程序的,所以在删除了之后重启机子,dalvik-cache重写时不会再写入删除了的程序的优化了代码的系统关系树,所以我们可用的data空间有所增加!
不知道这样说大家是否明白?
以上的我的操作是完全没有问题的,但是这个解释我是根据实践自己揣摩的,不确定是否完全准确……

教程里说精简之后需要系统初始化,初始化之后data会增大,为什么那?就是这个原因,系统初始化的意义就是重写程序的优化了代码的系统关系树,删除已经卸载了的dalvik-cache。

根据以上推测我认为我的方法适用于精简之后没有系统初始化的用户。当然在data里安装许多软件有卸载了的,同样可以用这个方法增大data。因为所有的程序删除操作仅仅是卸载程序,并没有删除该程序对应的dalvik-cache里的文件。

继续往下推测,data/data里的文件是否也可以这样精简那?

笔者将继续进行试验,并把试验结果给大家分享。

另有我提出的一些供大家讨论的问题,当然,其中的一些已经在我的这个帖子里解决了……
http://bbs.hiapk.com/thread-1322991-1-1.html

欢迎大家讨论!


若有这样做的请回帖,说说你是结果! 

【Mod】简便方法转移dalvik-cache,释放data空间!【已提供toSystem及卸载方法】

http://www.anzhiwo.com/bbs/viewthread.php?tid=290446

dalvik, cache, mod这个Mod可以将dalvik-cache的储存目录从/data改到/cache或/system
从而给/data留出更多的空间来安装软件
也大致避免了那个可恶的 磁盘空间不足 的提示

安装及卸载方法:
安装(recovery下失败的机油可以试试法2)
法1.直接在recovery下安装
法2.将zip包中的userinit.sh拷贝至/system/sd下
卸载
删除/system/sd/userinit.sh并重启,删除/cache/dalvik-cache或/system/dalvik-cache

本人已经测试过 释放了约45mb的data空间!

稍微解释下原理(我理解的,不知道准确不)

1.
i5700的内存分配(就是rom吧?):
Basics on the filesystem layout:
(512m is divided into partitions)
/dev 82mb
/system 200mb
/data 150mb
/cache 80mb
2.
dalvik-cache解释
当Android启动时,DalvikVM监视所有的程序(APK文件)和框架,并且为他们创建一个依存关系树。DalvikVM通过这个依存关系树来为每个程序优化代码并存储在Dalvik缓存中。这样,所有程序在运行时都会使用优化过的代码。这就是当你刷一个新的ROM时,有时候第一次启动时间非常非常长的原因。当一个程序(或者框架库)发生变更,DalvikVM将会重新优化代码并且再次将其存在缓存中。
3.
dalvik-cache默认储存在/data下

--------------------------------------------------------------------------

更改前的内存使用情况:
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                    82624        12     82612   0% /dev
tmpfs                     4096         0      4096   0% /sqlite_stmt_journals
/dev/stl6               200996    133660     67336  66% /system
/dev/stl5               150644    150184       460 100% /data
/dev/stl7                80576      4180     76396   5% /cache
/dev/stl10                7729       776      6953  10% /efs
/dev/bml8                 4096      4096         0 100% /xbin

可以看到/cache的使用率只有5%(而/data达到了100%..),多余的空间都浪费了
浪费是可耻滴~所以作者将dalvik-cache的储存地址从/data转到了/cache

更改后的内存使用情况:
Filesystem                Size      Used Available Use% Mounted on
tmpfs                    80.7M     12.0K     80.7M   0% /dev
tmpfs                     4.0M         0      4.0M   0% /sqlite_stmt_journals
/dev/stl6               196.4M    167.5M     28.9M  85% /system
/dev/stl5               147.1M     73.4M     73.7M  50% /data
/dev/stl7                78.7M     26.6M     52.1M  34% /cache
/dev/stl10                7.5M    777.0K      6.8M  10% /efs
/dev/bml8                 4.0M      4.0M         0 100% /xbin
/dev/stl7                78.7M     26.6M     52.1M  34% /data/dalvik-cache
/dev/block//vold/179:1    7.4G    781.4M      6.6G  10% /sdcard

dalvik-cache被移到了/cache,/data的使用率降到了50%,/cache的使用率到了34%
释放出了约50M的/data空间

app2sd软件也支持dalvik-cache to sd,但由于卡的质量参差不齐,很多都只是apk2sd而不dalvik-cache2sd
但这个方法就不同了~它依旧在rom上读写,质量有保证~

提供dalvik-cache to /system~
手机重启会清空/cache,dalvik-cache要重写,导致一些软件(如3d相册)受到影响  (反正我的图不多,影响不明显哈~)
所以提供dalvik-cache to /system,将dalvik-cache转存至/system,/system不会被清空了吧。。
使用前请先检查自己的/system空间是否够用哈

下载
dalvik-cache to /cache
dalvik-cache-cache.zip
2010-7-17 09:37


dalvik-cache to /sysytem
dalvik-cache-system.zip
2010-7-17 09:37



若已安装 dalvik-cache to /sysytem or /cache ,须卸载后再安装

下面是equk的原帖
http://forum.samdroid.net/f9/relocate-dalvik-cache-free-up-space-1117