東川印記

一本東川,笑看爭龍斗虎;寰茫兦者,度橫佰昧人生。

Android lifecycle 生命周期

2022年5月28日星期六



之前应该写过,用的时候就找不到。。。。

1,activity 生命周期

https://developer.android.com/guide/components/activities/activity-lifecycle?hl=zh-cn

配图 activity_lifecycle.png

1)打开activity A

onCreate() -> onStart() -> onResume();

2)从activity A 打开 activity B

A.onPause() -> B.onCreate() -> B.onStart() -> B.onResume() -> A.onStop()

3)从B返回A

B.onPause() -> A.onRestart() -> A.onStart() -> A.onResume() -> B.onStop() -> B.onDestory()


2,fragment生命周期

https://developer.android.com/guide/fragments/lifecycle?hl=zh-cn

https://developer.android.com/guide/components/fragments?hl=zh-cn

1)fragment生命周期  fragment_lifecycle.png

2)activity与fragment生命周期关系 activity_fragment_lifecycle.png

显示流程是 先activity后fragment,

销毁流程是 先fragment后activity。


3)view与fragment生命周期关系 fragment-view-lifecycle.png

现在官方文档默认不展示activity跟fragment了,变成了view跟fragment,玩法高级了?


3,flutter widget 生命周期

1)无状态组件 StatelessWidget 生命周期

createElement() -> build()

2)有状态组件 StatefulWidget 生命周期

createState -> initState ->  didChangeDependencies() -> build() -> deactivate() -> dispose()

debug hotload执行 reassemble() -> didUpdateWidget() -> build()


4,vue3页面生命周期

api 为 https://vuejs.org/api/composition-api-lifecycle.html#onerrorcaptured

Hooks 名稱 (Vue 2.x/3.x) Hooks 名稱 (對應 Vue 3.0 Composition API) 說明
beforeCreate setup() Vue 實體被建立,狀態與事件都尚未初始化
created setup() Vue 實體已建立,狀態與事件已初始化完成 (propdatacomputed 等屬性已建立,vm.$el 屬性無法使用 )
beforeMount onBeforeMonut Vue 實體尚未與模板 (DOM 節點) 綁定
mounted onMounted Vue 實體與掛載完成, el 的目標 DOM 被 $el 所替換 (可以視作 jQuery 的 Ready)
beforeUpdate onBeforeUpdate 當狀態被變動時,畫面同步更新前
updated onUpdated 當狀態被變動時,畫面已同步更新完成
beforeDestroy (2.x) onBeforeUnmount Vue 實體物件被銷毀前
beforeUnmount (3.0) onBeforeUnmount Vue 實體物件被銷毀前
destroyed (2.x) onUnmounted Vue 實體物件被銷毀完畢
unmounted (3.0) onUnmounted Vue 實體物件被銷毀完畢
errorCaptured onErrorCaptured 子/孫代元件的錯誤被捕獲時觸發
activated -- Vue 元件被啟動時觸發,搭配 keep-alive 使用
deactivated -- Vue 元件被解除時觸發,搭配 keep-alive 使用


setup() :开始创建组件之前,在beforeCreate和created之前执行。创建的是data和method
onBeforeMount() : 组件挂载到节点上之前执行的函数。
onMounted() : 组件挂载完成后执行的函数。
onBeforeUpdate(): 组件更新之前执行的函数。
onUpdated(): 组件更新完成之后执行的函数。
onBeforeUnmount(): 组件卸载之前执行的函数。
onUnmounted(): 组件卸载完成后执行的函数
onActivated(): 被包含在中的组件,会多出两个生命周期钩子函数。被激活时执行。
onDeactivated(): 比如从 A 组件,切换到 B 组件,A 组件消失时执行。
onErrorCaptured(): 当捕获一个来自子孙组件的异常时激活钩子函数


--
senRsl
2022年05月28日12:07:43

没有评论 :

发表评论