Total Pageviews

Tuesday, 25 December 2012

如何分析Android手机的分区利用情况

在开始前,如果你是初级用户,推荐使用系统自带的应用程序管理功能进行排序查看。不正确的命令或操作可能会引起手机变砖。
本教程已经忽略先决条件,请具备Android SDK环境,具备adb shell命令行,以及Busybox。
首先,需要先查看全局空间占用情况,很简单:
df –h
该命令会列出每个分区所占用的空间情况,如下表:
# df -h
df -h
Filesystem Size Used Available Use% Mounted on
/dev/block/mtdblock3 90.0M 88.1M 1.9M 98% /system
/dev/block/mtdblock5 337.6M 299.5M 38.2M 89% /data
/dev/block/mtdblock4 10.0M 1.1M 8.9M 11% /cache
/dev/block/mmcblk0p2 629.9M 437.6M 160.3M 73% /sd-ext
对于用户来说,主要就是这三个分区。本例中, /data 分区要满了,所以我们还可以分析一下 /data 空间中什么占用最多。现在,需要用du命令:
du -s * | sort -n
1 app
1 app-private
2 dontpanic
2 lost+found
4 local
4 property
4 secure
15 backup
42 anr
46 misc
505 system
135462 dalvik-cache
161988 data
按照字节来进行排序。
目前发现 data 目录占用最大,其次是dalvik-cache,所以从data目录下手。
进入data目录后再次运行du命令:
du -s * | sort -n
4 android.tts
4 aws.apps.networkInfoIi
4 com.android.calculator2
4 com.android.calendar
4 com.android.camera
……
9167 com.jupiterapps.phoneusage
10145 com.opera.browser
11185 sts.pl
12027 com.gameloft.android.GAND.GloftAsp6.asphalt6
15195 com.google.earth
#
最大的会列在最后,谷歌地球,Asphalt6(一款赛车游戏)等占用了大量的空间。
因此,我们就可以评估一下软件的必要性,然后给予删除。