跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Activity 为什么要有 onStart 生命周期? 直接用 onResume 不行吗?
未分類
9 1 月 2021

Activity 为什么要有 onStart 生命周期? 直接用 onResume 不行吗?

Activity 为什么要有 onStart 生命周期? 直接用 onResume 不行吗?

資深大佬 : narutow 2

两个 Activity 切换时, 它们的生命周期顺序是

… A#onPause B#onCreate B#onStart B#onResume A#onStop …

这样安排顺序我能理解, 在 A 显示的时候让 B 显示, B 完全展示后, A 走 onStop, 这样用户界面不会黑屏.

但有个疑问, B Activity 展示的回调中为什么要多一个 onStart, 直接通知正在展示的 Activity onRESUME 不行吗

大佬有話說 (7)

  • 資深大佬 : also24

    我觉得谷歌是希望能严格区分 onPause() 和 onStop() 的。

    所以对应着搞了 onResume() 和 onStart() 作为对应的恢复状态。

    实际上 Google 确实专门讲了 onPause() 和 onStop() 的差异:
    https://developer.android.com/guide/components/activities/activity-lifecycle

  • 資深大佬 : janus77

    onresume 是 ui 渲染了,有些特殊的需求是希望在渲染之前执行,或者在进入后台(不渲染)的时候扔会执行。所以就需要 onstart 和 onstop

  • 資深大佬 : RikkaW

    分屏、画中画等等屏幕上不止一个 Activity (窗口)的情况下就是只有处于焦点的那个是 resumed 状态,其他的都是 started 状态。

  • 資深大佬 : zagfai

    Android 给开发者制定的架构就是一坨翔

  • 資深大佬 : rosu

    start 是可见,resume 是焦点。

  • 主 資深大佬 : narutow

    @RikkaW 感谢, 理解了, onStart 和 onRESUME 就是界面可见 和 获得焦点可以同用户交互 的两个回调. 其他比如多窗口可以看到, 但不能交互的情况, Activity 就处于 onPause

  • 資深大佬 : kraits

    主有没有考虑到 Activity 横竖屏切换的生命周期:

    onSaveInstanceState()→onPause()→onStop()→onDestroy()→onCreate()→onStart()→onRestoreInstanceState()→onResume()

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具