« 回到博客列表

MIUI 图标缓存问题

Apr 18th, 2015阅读本文大约需要 1 分钟

问题描述

为 Android 应用替换图标是一件非常容易的事,只需要替换 ic_launcher.png 即可,但在 MIUI 中,你经常会遇到安装完之后实际显示的还是默认图标,你自定义的图标并没有显示出来。检查代码发现完全没有问题,卸了重装也没用,重命名资源文件也没用。

影响范围

就目前所知,该问题是由 MIUI 6 引入的,在早先的版本中尚未发现该问题。该问题产生的影响主要体现在产品大版本更新时,尽管主程序已经更新,但用户所看到的应用图标仍然是老版本的,直到问题解决。同时也给广大应用开发者带来一定的麻烦。

病症所在

出现这种问题,是因为 MIUI 有一个应用图标的缓存,这个缓存里的图片即便在应用卸载了之后也不会消失。这就是为什么重复安装或是更换图标都无法解决问题的根本原因。

解决办法

其实要想解决这个问题很简单,只需要进入“主题风格”随便更换一套主题,再换回原来的主题即可。切换主题会刷新应用图标缓存,使新图标被应用,问题因而得以解决。(有人通过重启手机同样解决了问题,大家可以试下)

偏方

网上有一些偏方,号称能解决问题,但实测发现,并没有什么卵用。这里也曝光一下,给大家做个参考

偏方1:如果你已经获得了 root 权限,那么进入 /data/system/customized_icons 目录,找到你原来的旧图标,删除即可。该方法从原理上讲确实属于对症下药,但似乎 MIUI 的图标缓存并不在这里,实际测试发现这个方法并不解决问题。

偏方2:把当前的工程换一个包名,重新安装即可。换了包名等于是一个新的应用。旧的缓存图标就失效了,听上去确实没错,但实际测试表明这个方法也没用。