桌面是个文件夹,资源管理器逐行读取它
桌面不是一张图,而是两个真实文件夹(你的 Desktop 和共享的 Public Desktop)的视图,文件资源管理器在画出任何一个图标之前,都要先枚举这两个文件夹里的每个对象。每个条目都是一个待读取元数据的 shell 对象:快捷方式需要解析目标,文件需要提取图标,而带自定义图标的东西还要从某个 .exe 或 .dll 里把图像抠出来。在一块还在忙着收尾启动的磁盘上,对 120 个对象做一遍这些事,延迟自己就写好了。
真正的杀手是解析不了的快捷方式。一个指向网络共享、已断开的外接硬盘或未挂载云文件夹的 .lnk,会让资源管理器干等超时,而不是耸耸肩继续走。一个这样的快捷方式就能堵住整条队列;有三个,你的图标就得分期到货。
- 指向网络共享或已断开外接硬盘的快捷方式
- 桌面上的 OneDrive 占位文件,每次登录都要核对在线状态
- 被 Windows 判定要从零重建的损坏图标缓存
- 在慢速 HDD 上从大体积 .exe 文件加载的自定义图标
- 两百个桌面对象,资源管理器画任何东西之前都得先枚举一遍
图标缓存:一次性把它正经重建好
Windows 把提取出来的图标缓存在 %LOCALAPPDATA%\Microsoft\Windows\Explorer——一组 iconcache_*.db 文件,与旁边的缩略图缓存是分开的。当这个缓存损坏时——典型场景是显卡驱动更新后或一次突然断电关机——Windows 会退回到每次登录都重新提取每个图标,这正是你看到的白图标慢舞。修法就是删掉缓存,让 Windows 干净地重建。
从任务管理器关闭资源管理器,删除 iconcache_*.db 文件(它们是隐藏的,所以先打开隐藏项目显示,或者从命令提示符里做),然后再启动资源管理器。重建十分钟之后,图标应声而回;如果没回,问题就不在缓存,而在桌面上摆着的那些对象。
修的是桌面本身,不只是缓存
盘点一下桌面到底放了什么:删掉指向几年前就卸载的东西的快捷方式,把安装包和下载挪进下载文件夹,重文件干脆整个搬离桌面——它是存放 4 GB 视频的最差位置,因为资源管理器每次登录都会重读它的元数据。如果 OneDrive 在备份你的桌面,请有意识地决定要不要这样:是方便,但现在每个图标都取决于一次网络往返。一个只有三十个你真正在用的条目的桌面,在任何年代的硬件上都是秒开——这不是什么调优,这是做减法。
常见问题与解答
为什么桌面图标在开机时显示为空白白方块?
资源管理器来不及解析图标——通常是快捷方式的目标不可达,或者图标缓存过期,于是它先画一个占位符。清掉死快捷方式、重建图标缓存,能解决绝大多数情况。
删除 iconcache 文件安全吗?
安全——iconcache_*.db 文件是缓存而不是数据,Windows 会自动重建。先关掉资源管理器,否则文件被锁住,只会原样重建一遍。
继续阅读
联系我们: [email protected]