如何在2個月內實現Android啓動速度翻倍

隨着閒魚App端更多新功能、新技術的加入,應用冷啓動速度越來越慢,這也意味着用戶看到有效內容的時間被拉長,對用戶體驗有着很大的傷害。目前,在內部測試版本中,我們已經將安卓在低端機上的冷啓動時間從原來的10s降低到了5s內。

閒魚是如何快速將啓動時間減少一半的呢?分爲 建立標準分析現狀抓大放小三個步驟。

建立標準

做性能優化不是討論哲學問題,建立合理的數據衡量標準非常重要。儘管已經有了很多關於如何卡口關鍵函數、如何判斷頁面第一幀渲染完成的討論,但從代碼層面進行判斷始終與用戶的感知無法100%匹配。如何迅速建立起啓動時間的標準?我們借鑑了手淘的方式和標準,利用內部的魔鏡平臺,使用視頻關鍵幀的方式記錄下App圖標被點下到首頁第一屏渲染完成作爲一整個應用冷啓動的過程。這與用戶看到的啓動過程吻合。

對於設備的選擇上,我們使用y67這樣一臺現在看起來相對性能較差的機型作爲優化的目標機型。低端機存在CPU能力弱,IO速度慢等問題,而慢代碼與IO恰恰是拖慢應用啓動最大的原因。定位優化的目標機型可以更加快速解決common類型的啓動問題。

閒魚現狀

我們先使用日誌打點的方式來統計啓動過程中耗時的大頭,以便可以快速得將啓動性能提高上去。可以看到圖中,進入首頁渲染前, commoninteractive兩部分佔去了大部分的時間,這是啓動器在執行啓動任務。而在進入首頁後,頁面的請求與view的排版佔用了大部分的時間。

原文鏈接:【https://www.infoq.cn/article/xBDxJ3QZ3eez0rTPHLTL】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章