Activity的生命週期函式

2022-09-23 09:30:12 字數 1506 閱讀 2441

說明:初探activity 生命週期的7個函式。

例子:在mainactivity裡面新增乙個按鈕,觸動按鈕,跳轉到otheractivity,觀察控制台的輸出。

先來看看這幾個函式:

他們的流程可以看看官網提供的流程圖:

下面這張金字塔型的圖可能更直觀一些:

關看圖沒意思,看看程式執行起來的效果先。

步驟:1、在mainactivity裡面複寫其他6個函式。並且定義乙個otheractivity類,在activity_main新增乙個按鈕,跳轉到otheractivity,並為otheractivity定義乙個布局檔案other.xml。(這個在上一篇已經說過方法了,在這裡就不再重複了。)

package com.away.b_02_lifecycle;

import android.app.activity;

import android.content.intent;

import android.os.bundle;

import android.view.menu;

import android.view.view;

import android.view.view.onclicklistener;

import android.widget.button;

public class mainactivity extends activity

class buttonlistener implements onclicklistener

} @override

protected void ondestroy()

@override

protected void onpause()

@override

protected void onrestart()

@override

protected void onresume()

@override

protected void onstart()

@override

protected void onstop()

}2、在ohteractivity裡面也複寫7個函式。

直接看結果:直接在控制台觀察,啟動mainactivity→otheractivity的過程,函式的呼叫時機。

啟動mainactivity:

點選按鈕,跳轉到otheractivity:

當點選後退按鈕,退回到mainactivity的時候:

這裡涉及到back stack:

1、啟動第乙個activity,backstack裡面就有了第乙個activity物件。

2、啟動第二個activity,backstack裡面增加了第二個activity物件。

3、啟動第三個activity,backstack裡面增加了第三個activity物件。如果按返回鍵,返回到第二個activity,那麼,在backstack裡面第三個activity物件就會被銷毀。以此類推,backstack遵循先進先出的順序。

生命週期函式

另外說一下生命週期函式 virtual void onenter virtual void onentertransitiondidfinish virtual void onexit 這3個是遇到對應情況時呼叫的。在cpp檔案裡如果把它們示例了,你可以在開始時放 結束時關閉 等等。如果他下面的之類...

下生命週期函式

另外說一下生命週期函式 virtual void onenter virtual void onentertransitiondidfinish virtual void onexit 這3個是遇到對應情況時呼叫的。在cpp檔案裡如果把它們示例了,你可以在開始時放 結束時關閉 等等。如果他下面的之類...

React生命週期函式

說來慚愧,準大四計算機專業學生黨第一次寫技術部落格。以前學東西沒有記錄的習慣總是容易忘記。最近在看老師的教程學習react框架,想寫點東西記錄一下學習的過程。若寫的不好,各位大佬見諒了,歡迎指正。什麼是生命週期函式?生命週期函式就是元件某一時刻會自動執行的函式。initialzation 初始化 m...