從前幾篇文章分享了 React Native 開發團隊是如何透過新架構(New Architecture)去改善 React Native 應用程式的效能,那麼作為使用 React Native 開發應用程式的開發者要如何優化?接下來的幾篇文章會帶大家了解如何做效能優化、效能優化評估的指標、整合效能監測工具到你的應用程式以及一些優化的小技巧。
FPS 就是每一秒顯示的幀數(frame)。FPS 影響的了應用程式使用起來的畫面是否流暢?會不會卡頓?追根究底,看似會動的畫面其實是由一張張圖像快速疊加而成,而讓人類的大腦相信圖像是一個動作至少會需要 10 ~ 13 FPS,可以看到流暢的畫面則是需要 24 FPS,而理想的應用程式應該是 60 FPS ,原因在於 60 FPS 是最流暢的,而且大部分的人的視覺沒辦法接受比這更高的幀數了。
作為開發者應該要維持應用程式在保持 60 FPS 且並且保持這個速度不變,不會一下突然掉到 20 FPS 影響到使用者體驗,並且從 1000 ms/60 frames =16.666 ms/frame
中可以得知開發者在到下一個幀之前有 16 毫秒,而開發者應該要在這 16 毫秒內完成所有工作,例如:渲染、計算、輸入、網路,以確保每一個幀的流暢度。
啟動的時間快慢,影響了使用者的體驗,在先前提及的新架構中新的 JavaScript 引擎 Hermes 就讓應用程式啟動時間變得更快許多。
安裝的大小會影響的是使用者安裝的速度和意願,有時候使用者手機剩餘的空間不一定足夠安裝新的應用程式。
在畫面刷新和動畫過程中,特別需要留意 CPU 使用率,高 CPU 使用率可能導致應用程式卡頓。
過多的記憶體使用可能導致手機整體的效能而且讓電池秏損更快。
透過監控 Crash Log 可以找出 Crash 的原因以及追蹤錯誤的位置,以即時解決問題。
網路請求包含的回應時間、回應的 payload 大小、成功率,簡單來說,call api 發現回應的速度變慢了、或是常常失敗,就要趕快檢查問題在哪。
接下來,就會介紹應用哪些工具可以衡量應用程式效能指標~
Android Performance Patterns: Why 60fps?