yii.
← Writing
Flutter 技術 · · 2 min read

輕鬆在 Flutter 監聽 APP 的生命週期

這篇寫於 2022 年。工具和 API 變化很快,部分步驟可能已經不適用。

知道APP的畫面在前景還是背景


很常因為一些情境,需要了解目前APP與畫面的狀態,監聽使用情況。當用戶將APP滑到背景時可以停止某些服務以節省資源,或是用來計算用戶的線上時間等等,幫助性能提升與分析。

使用 WidgetsBindingObserver 監聽狀態#

在 initState() 進行監聽#

覆寫 didChangeAppLifecycleState(),監聽最新的APP狀態#

在 dispose() 停止監聽#


resumed#

  • 在前景運行,通常顯示著畫面
  • 可以跟使用者互動

inactive#

  • 非活動狀態
  • 在前景時插入其他應用,切到手機的APP選擇頁、子母畫面、電話、下滑的控制中心、系統視窗訊息等

paused#

  • 在背景運行
  • 無法跟使用者互動,也是非活動狀態
  • 舉例:返回桌面的時候,會先更新成 inactive 再更新成 paused

detached#

  • 停止狀態
  • APP被返回關閉、銷毀

其他文章#

關於我#

贊助#

謝謝你花費時間看完,非常感謝!

如果覺得文章不錯的話可以贊助,讓我有更多動力和熱情分享學習紀錄和生活!請我喝一杯咖啡吧~

https://www.buymeacoffee.com/yiichenhi

最後#

希望有幫助到你/妳,歡迎追蹤我,方便瀏覽最新的文章~

本文原刊登於 Medium。