手机qq浏览器修复:从地铁 4 号线那 37 秒白屏说起
昨天下午 3 点 42 分,我在地铁 4 号线西四站往灵境胡同的那一段,手机 QQ 浏览器点开一个新闻链接,屏幕白了整整 37 秒,然后返回键才恢复响应。旁边一位穿灰色外套的乘客看我反复点屏幕,说了句「你这浏览器是不是该清了」,语气很平常,但那一刻我确实决定把这件事认真查一遍。
我把它当成一个小型事故来对待:先记下机型(一台用了两年半的安卓机,系统版本停在 Android 12)、崩溃发生时的剩余存储(1.9 GB)、以及 QQ 浏览器本身的版本号(16.2.0.4052)。这三个数字是后面所有判断的起点,缺一个,结论就会飘。
第二步是复现。我把同一链接分别在内核设置里切到「系统内核」和「X5 内核」各开了五次,系统内核那组五次里有三次卡在白屏,X5 那组零次。这个 3/5 与 0/5 的对比,比任何「感觉变快了」都可靠。顺手也上了qq浏览器设置默认首页这一页,确认首页被设置成一个已经改版的旧地址,这也是首屏等那么久的原因之一——它在等一个 302 跳完才敢渲染。
第三步是清理,但这里我想把话说得难听一点:绝大多数「清理缓存」的建议,是在掩盖问题而不是解决问题。真正该做的是清除「渲染进程缓存」和「内核本地存储」这两项,而不是把书签、登录态、表单历史一起清掉。我见过太多人清完缓存之后要重新登录七个网站,问题却还在。
第四步,版本回退。这台的 16.2.0.4052 是三天前自动升上来的,我把安装包换回 16.1.8.3011 之后,同样的链接首屏稳定在 2.4 秒左右。回退不是长久之计,但它能把「是版本引入的」这条结论钉死。顺带查了一下更新包的校验逻辑,和6699浏览器app更新包那一类第三方分发的校验方式对照,能看出官方渠道至少做了签名比对,这一点值得肯定。
第五步是我个人最在意的:权限。安卓 12 之后,存储权限被拆成「读取媒体」与「管理所有文件」,QQ 浏览器如果在升级时没拿到新的授权,缓存目录会退回到一个极小的配额,表现就是——不崩、不报错、只是慢。这个细节在用户侧几乎不可见,但它是这次 37 秒里最合理的解释。
最后我把整条链路整理成一张纸:先看版本号,再看内核,再看缓存目录配额,最后才考虑重装。全程大约 22 分钟,其中 15 分钟花在等系统内核那几次复现上。有意思的是,那位灰外套乘客说的「该清了」其实只说对了一小半——该清的是索引,不是记忆。顺便一提,排查过程中我还顺手核对了几个与浏览器周边相关的页面,比如新澳正版图那种资源站点的加载方式,以及49.tk.app官网下载这类下载页的跳转链路,它们共同的毛病都是首屏依赖过多外部请求,浏览器再好也扛不住。至于免费隐藏照片网站那类需要本地存储权限的页面,则是权限问题最容易暴露的地方,建议单独测。
写到这里,杯子里的茶刚好凉到能一口喝完。修好一个浏览器不需要什么玄学,需要的是把每一个数字记下来,然后一个一个排除。