当前位置:首页 > 手机 > 正文内容

解决Android关机后SD卡上的程序图标消失

lonhowe13年前 (2011-09-23)手机568

 说实话,这不能不算是Android的一个弊端,也怪Android最初考虑apk安装的时候考虑的不够充分完全。解决方法的前提是机子要有root权限,并且能用命令行(或者你在电脑上用adb工具也可以),我们要做的就是重启桌面。

 

  进入命令行,使用su获得root权限,然后执行ps命令,可以看到如下:

root      4451  1     101520 27376 ffffffff 00000000 S zygote
system    4458  4451  226680 37284 ffffffff 00000000 S system_server
app_48    4535  4451  137596 24608 ffffffff 00000000 S com.lge.android.cime
radio     4540  4451  147660 24908 ffffffff 00000000 S com.android.phone
app_54    4543  4451  167056 31740 ffffffff 00000000 S android.process.lghome
system    4545  4451  133820 20352 ffffffff 00000000 S com.android.settings

  但是桌面程序是哪个呢?这就真的依赖机子本身了,譬如我这个测试机是LG P503,对应的桌面程序是android.process.lghome,所以通过上面的ps命令结果可以看到它的进程号是4543(红色标出,当前行的第一个数字,记住,是第一个数字4543而不是第二个数字4451),于是执行:

#kill –9 4543

  此时不会重启机子,只用重新再去桌面就OK了。另外记住:上面如果kill过system_server的话,要重新执行ps命令获取桌面的进程号,因为重启后这些进程号都变了。

  如果你不是LG P503机器,你也可以查查看你的桌面程序是什么,如果是原生的系统,会有launcher的关键字,找找看,再或者找找其它看起来像的,就找进程号大于system_server的,如本例中,system_server的进程号是4458(红色标出),那么找所有第一个数字大于4458的kill看看,不用害怕,最多也就是重启一下手机,不会破坏手机的。成功后,记住后面的名字(如本例中的android.process.lghome),以后用得着的,说不定就这次就用得着,因为你在寻找过程中,可能kill掉了不该kill的进程,那么你再次重启后,直接kill这个桌面程序就OK。

  如果你实在难以找到桌面程序的进程(其实按照上面的方法每一个都试试,一定能找到的,我在考虑是不是写个简单的apk供大家简单使用呢?不过想必这个东西用过linux的都会,所以我就不卖弄了)。也可以尝试找出system_server的进程号(如果你能确定你的桌面程序,直接跳过这一步往下看),第一个数字4458就是,然后再执行kill命令:

#kill –9 4458

  然后就可以看到你的机子重启了,等启动完之后,如果图标都回来了,那就万事OK了。如果没有完全回来,那就只能用上面的方法了。

总结:

  方法其实很简单:获得桌面程序的进程号,杀掉它(它会自动重启),就得到了完整的图标。

原理分析

  android为了把应用程序装到sdcard上面,对每个安装在上面的应用都挂载了对应的目录。但是我们在手机启动之后,这些都还没完全挂载上,所以桌面根本访问不到它们,既然访问不到,自然图标就没有了(说到这里,如果android不仅把程序列表存起来,也把图标对应存起来估计就少了一些麻烦了,虽然存在程序删掉了但是图标没删的问题,但有什么问题呢?)。所以上面的动作就是为了让桌面程序重启一次。重启system_server的原因是因为桌面程序在每个机子上都不同,难以找到,而system_server都一样,如果能找到桌面程序的进程直接kill掉那是最好的了。因为此时sdcard已经挂载上了,那些应用程序也相继在挂载,但如果应用程序多,就不一定挂载完了,毕竟有一个过程的。

  至于网上说的是因为sd卡读写速度慢造成图标读不出来,那是浮云~~sd卡读写速度虽然慢,但不是造成这个问题的关键。祝各位能顺利解决问题。

  写这篇文章纯粹是因为博客太久没更新了,所以写写。

补充:

  如果你看到这个地方了,你估计要吐血了。。。因为经过继续摸索,发现一个更简单的方法:那就是利用任务管理器,将所有的应用程序关掉,那么这里面的应用程序就必定包括了桌面程序,从而达到了上面要关掉桌面程序的目的。这样你就不必自己去寻找桌面程序的进程号再去关掉它了。这里我用的是安卓优化大师,不过我想任何一个任务管理器或者程序管理器都能做到这一点吧,甚至Android自带的应用程序管理如果你愿意一个个试着关掉的话,也是可以办到的。

扫描二维码推送至手机访问。

版权声明:本文由IT之家发布,如需转载请注明出处。

本文链接:https://www.it456.com/post/110.html

分享给朋友:

“解决Android关机后SD卡上的程序图标消失” 的相关文章

华硕双核Android 3.2侧滑平板开始出货

华硕双核Android 3.2侧滑平板开始出货

继上周华硕公布Eee Pad Slider平板在美国的售价后,今天国外媒体又带来最新消息称,目前这款平板已经发货,提前预订的用户几天后便可收到。华硕Eee Pad Slider采用了侧滑设计,当用户滑开后,该机的屏幕与键盘呈45度夹角,同时它还拥有10.1寸触控屏和QWERTY全键盘,屏幕分辨率为1...

APP2SD (App2fat、app2ext) data2ext CM包两种方式三种方法扩大存储容量的教程与比较

一、App2sd:就是把用户程序装到sd卡中,减少对机器内存占用,从而达到多装软件的目的。Me600刷完CM包后给用户可以使用机器内存是224M,即使不装大型游戏软件也相当吃紧,比如Documents TO GO,占用内存是10.71M,UCv8是14.0M,淘宝是8.88M,如果再装一到两个大型游...

完美解决SD卡损坏or文件已损坏,需要格式化SD卡

这个android系统的一个通病,我以前看见这个就怒火!什么破手机,一个月来一次,像女人一样。。。症状: 说一下为什么好好地手机会出现这个问题,   发现:   请回忆,我们往往是在使用相机,看在线视频,使用XX市场,重启、开机,或者打开设置&hel...

新版基带更换工具23P.78P.83P.85P.91P

新版基带更换工具23P.78P.83P.85P.91P

新版基带更换工具,适用于亚太版和欧版 可更换23P.78P.83P.85P.91P版基带, http://115.com/file/besj8oez...

教你怎样进RECOVERY和工程模式

先进入工程模式。方法:开机状态下,按住音量键下 再按住 电源键 保持不动。大概五秒左右就黑屏了。(这里会有2个功能,第一:如果所有按键松开的话会重启,也就是说的硬启动,可以用于玩游戏或者软件突然卡机,死机的情况。第二:松开电源键,音量键下不松 等个5秒左右 就是进入工程模式了,也就是刷机模式。)&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。