Josh 是印度製作的短片應用程式,於 2020 年 8 月推出。也是印度成長最快速的短片應用程式之一,每月活躍使用人數超過 1.24 億,每日活躍使用者達 6,000 萬人。
對所有應用程式開發人員來說,Josh 決定在各種裝置上 (高階、中、低階) 都進行最佳化,同時維持所有裝置的標準使用體驗,是任何應用程式開發人員都須遵循的一大重點,而且 Josh 從一開始就瞭解這一點。為了創造使用者滿意度,改善 Android Vitals 是該公司衝刺業務和重要性的一大任務。
此外,影片回應和啟動時間也很重要,因為影片是使用者在應用程式中互動和使用的主要格式。如果影片串流中有任何突兀或因不同互動中斷的地方,很快就會讓使用者失去興趣並退出應用程式。
Josh 投注心力改進應用程式啟動時間效能,讓一般使用者的應用程式啟動時間縮短了 30%,而較舊和低階裝置的使用者則加快了約 3 倍的啟動速度。
挑戰
Josh 應用程式在短短一年內,便迅速成長到超過 1 億名每月活躍使用者。在推出產品主導或事件導向功能的競賽中,應用程式最佳化往往會退場,他們透過 Google 的應用程式稽核與結構意見回饋,及早發現這些問題,並擬定修正問題的管道。
方法
監控 Android Vitals 時,我們發現了改善應用程式啟動的契機。該團隊決定優先縮短冷啟動時間,藉此自動縮短暖啟動和熱啟動時間。
該公司利用多項自訂追蹤記錄、Systrace、Android Studio Profiler 和 Perfetto 來進行調查,並找出瓶頸。明顯可以看出應用程式類別 onCreate 和其他同步方法耗費的時間可改善其他同步方法。
以下列舉該團隊的具體措施:
- 剖析應用程式啟動期間執行的每個程式碼區塊。
- 使用 Perfetto、Systrace、Dmpsys 等 Android 效能工具分析的系統追蹤記錄。
- 調查過第三方 SDK 在應用程式啟動期間的影響,並自動停用部分第三方 SDK。
- 淘汰舊版程式庫
- 部分模組會延遲並在背景執行
- 縮減啟動時啟動畫面使用的可繪項目大小,並針對螢幕大小進行最佳化
我們單獨進行測試來全面驗證上述所有項目,藉此確認應用程式會對應用程式帶來正面影響、模擬冷啟動並整合新的 Jetpack Macrobenchmark 程式庫。
成果
這些變動不僅讓所有指標立即有所改善,而且還提升了整體使用者體驗,以及為開發團隊提供寶貴的知識。
- 改善跳出率和留存率後,小喬能留住超過 100 萬人 (與基準線相比)。專注在這兩項指標也有助於提升應用程式的整體參與度。
- Play 商店的評分呈現上升趨勢,在應用程式推出時就推出多項啟動改良措施。
- 對一般使用者而言,應用程式啟動時間縮短了 30%,在較舊和低階裝置上讓約 10% 的使用者運作速度加快 3 倍,因此大幅改善了這類使用者的應用程式回應速度。
更重要的是,這項有助於改善 Android Vitals 的運動讓整個團隊凝聚在一起,激勵團隊的動力,尤其是初級成員。這不僅鞏固了 Vitals 的重要性,甚至也成功引導了相關團隊在其他應用程式中使用這些經驗。
「只要生態系統中的夥伴聚在一起,就能一起成長茁壯。資料與數據分析的強大威力已是前所未見的。身為以創作者為優先、以消費者為中心的平台,我們持續致力於打造終極的使用者體驗,而這類體驗十分仰賴應用程式的穩定性。Josh 在推出產品後發現立即加快成長。與 Google Play 團隊密切合作,協助我們及早發現並修正應用程式穩定性、最佳化等難題。在 Google 的合作下,我們得以提升穩定性,並增強使用者留存率和參與度。」
– VerSe Innovation 產品與工程部門資深副總裁 Shailendra Sharma