1 月 2 日:那 11 秒里到底发生了什么
Redmi Note 10,Android 12。点击图标到首页可交互,秒表记录 11.2 秒。前 4.7 秒黑屏,之后是 3 秒白屏,剩下时间在加载首屏推荐位。
1 月 2 日晚上 9 点 47 分,Redmi Note 10 冷启动 QQ 浏览器用了 11 秒。我把这段过程拆成 40 多个采样点,也拆出了一堆自己答不上来的问题。
按写入时间排列。每条都对应一次真实的复现,或者一次没复现成功的困惑。
Redmi Note 10,Android 12。点击图标到首页可交互,秒表记录 11.2 秒。前 4.7 秒黑屏,之后是 3 秒白屏,剩下时间在加载首屏推荐位。
同事老周在群里说了一句:你这情况先关推荐流预加载试试。我关掉后冷启动降到 6.8 秒,但首屏空白感更强了。
关键词筛 ActivityManager,能看到 Launcher 转场耗时 620ms,但真正的大头在应用自身初始化,日志里刷了 1900 多行。
清完缓存第一次启动 14 秒。第二次 5 秒。这让我怀疑「打开慢」这个说法本身是分场景的,冷启动和温启动根本不是一回事。
同样的网络、同样的首页空白页。差距近 6 秒。我不想简单归结为「功能多」,但功能确实多——问题是怎么量化。
有读者私信说图片站加载卡住和浏览器启动慢是两件事,我认同,但两者的中间层——WebView 初始化——可能是同一个。这条先记着。
书里写「冷启动的白屏时间应控制在 300ms 内」。我盯着这句话看了很久,因为我在真机上没见过 300ms 以内的冷启动。
从别的应用复制链接再唤起浏览器,比直接在浏览器里输入慢 2 秒以上。我怀疑是跨进程唤起和权限检查叠加,但没有确证。
有位读者说首页入口恢复后首次加载变慢。我复现了一次,确实,但样本只有一台设备,不敢下结论。
同一台机器,隔 40 分钟再打开是 1.8 秒。所以「打开慢」的大多数抱怨,恐怕都指向冷启动,而不是日常使用。这是我这周唯一比较确定的结论。
关于图片类页面:17图库资料恢复免费打开17图库会员,以及 49tk图库下载入口。我还没逐一验证,先存档。
这条是读者留言里出现的,和启动慢没有直接关系,我放进来是因为它同样涉及首屏渲染压力。是否相关,等下一轮采样。
我叫江晚,做了六年移动端性能测试,现在在一家做工具类应用的小公司。
这个站是我用周末时间自己搭的,起因是去年 11 月帮母亲修手机,她的旧安卓机打开任何浏览器都要等十几秒,我却说不出一个让她听得懂的原因。
于是我开始一台一台地测,一台一台地记。数据不一定漂亮,结论经常不敢下,但我想把过程留下来。
如果你也在被「手机qq浏览器打开慢」这件事困住,欢迎把机型和秒数发给我。
“启动时间不是一个数字,而是一连串可以被拆开、被质疑的假设。”—— 摘自《Android 性能优化》第 6 章,2021 年版,第 143 页