iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
Mobile Development

React Native CLI 開發心法系列 第 23

DAY 23 React Native 效能優化:衡量效能的關鍵指標

  • 分享至 

  • xImage
  •  

從前幾篇文章分享了 React Native 開發團隊是如何透過新架構(New Architecture)去改善 React Native 應用程式的效能,那麼作為使用 React Native 開發應用程式的開發者要如何優化?接下來的幾篇文章會帶大家了解如何做效能優化、效能優化評估的指標、整合效能監測工具到你的應用程式以及一些優化的小技巧。

衡量效能的關鍵指標

FPS (Frame Per Second): 60 FPS

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 使用率,高 CPU 使用率可能導致應用程式卡頓。

RAM 記憶體使用量:越低越好

過多的記憶體使用可能導致手機整體的效能而且讓電池秏損更快。

Crash Log

透過監控 Crash Log 可以找出 Crash 的原因以及追蹤錯誤的位置,以即時解決問題。

網路請求效能

網路請求包含的回應時間、回應的 payload 大小、成功率,簡單來說,call api 發現回應的速度變慢了、或是常常失敗,就要趕快檢查問題在哪。

如何讓這些指標更精確?

  • 透過多次的反覆測試後取得平均值
  • 每次測試都要保持相同的條件
  • 自動化你想要測試的行為

接下來,就會介紹應用哪些工具可以衡量應用程式效能指標~

參考資料

Android Performance Patterns: Why 60fps?


上一篇
DAY 22 React Native Fabric 渲染器的 Render Pipeline
下一篇
DAY 24 React Native 效能優化: 使用 Flashlight 衡量應用程式效能
系列文
React Native CLI 開發心法31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言