最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android Activity的生命周期與啟動(dòng)模式全面解讀

 更新時(shí)間:2021年10月12日 10:55:43   作者:青素i  
雖然說(shuō)我們天天都在使用Activity,但是你真的對(duì)Activity的生命機(jī)制完全了解了嗎?Activity的生命周期方法只有七個(gè),但是其實(shí)那只是默認(rèn)的情況。也就是說(shuō)在其他情況下,Activity的生命周期可能不會(huì)是按照我們以前所知道的流程,這就要說(shuō)到Activity的啟動(dòng)模式

Activity概述

• Activity(活動(dòng))是Android應(yīng)用程序中最基本的組成單位。
• Activity主要負(fù)責(zé)創(chuàng)建顯示窗口,一個(gè)Activity對(duì)象通常就代表了一個(gè)單獨(dú)的屏幕。
• Activity是用戶唯一可以看得到的組件,用來(lái)與用戶進(jìn)行交互的。
• Activity是通過(guò)一個(gè)Activity棧來(lái)進(jìn)行管理,當(dāng)前顯示的Activity被放到棧頂。

Activity生命周期

在這里插入圖片描述

生命周期的調(diào)用順序

在這里插入圖片描述

一、啟動(dòng)activity,然后按返回鍵退出。
onCreate()->onStart()->onResume()
onPause()->onStop()->onDestory()
二、啟動(dòng)activity,按Home鍵顯示桌面,再點(diǎn)程序圖標(biāo)進(jìn)入應(yīng)用程序。
onCreate()->onStart()->onResume()
onPause()->onStop()
onRestart()->onStart()->onResume()
三、啟動(dòng)activityA,再啟動(dòng)activityB
AonCreate()->AonStart()->AonResume()
AonPause()
BonCreate()->BonStart()->BonResume()

演示

package com.qingsu.yingguday06;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private  Button mBtIntent,mBtIntentOne,mBtIntentTwo,mBtIntentThree;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        Log.d("TAG","onCreate");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        mBtIntent.setOnClickListener(this);
    }


    private  void initView(){
        mBtIntent = findViewById(R.id.bt_intentmain);
    }
    @Override
    protected void onStart() {
        Log.d("TAG","onStart");
        super.onStart();
    }

    @Override
    protected void onResume() {
        Log.d("TAG","onResume");
        super.onResume();
    }

    @Override
    protected void onPause() {
        Log.d("TAG","onPause");
        super.onPause();
    }

    @Override
    protected void onStop() {
        Log.d("TAG","onStop");
        super.onStop();
    }

    @Override
    protected void onRestart() {
        Log.d("TAG","onRestart");
        super.onRestart();
    }

    @Override
    protected void onDestroy() {
        Log.d("TAG","onDestroy");
        super.onDestroy();
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.bt_intentmain:
                startActivity(intent);;
                break;
            default:
                break;
        }
    }

    
}
package com.qingsu.yingguday06;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class HomeActivity extends AppCompatActivity {

    Button mBtHome,mBtIntentB;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("TAG","BonCreate");
        setContentView(R.layout.activity_home);
        setTitle("頁(yè)面B");
        mBtHome = findViewById(R.id.bt_intenthome);
        mBtIntentB = findViewById(R.id.bt_intentB);
        mBtHome.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(HomeActivity.this,MainActivity.class);
                startActivity(intent);
            }
        });
        mBtIntentB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(HomeActivity.this,HomeActivity.class);
                startActivity(intent);
            }
        });
    }
    @Override
    protected void onStart() {
        Log.d("TAG","BonStart");
        super.onStart();
    }

    @Override
    protected void onResume() {
        Log.d("TAG","BonResume");
        super.onResume();
    }

    @Override
    protected void onPause() {
        Log.d("TAG","BonPause");
        super.onPause();
    }

    @Override
    protected void onStop() {
        Log.d("TAG","BonStop");
        super.onStop();
    }

    @Override
    protected void onRestart() {
        Log.d("TAG","BonRestart");
        super.onRestart();
    }

    @Override
    protected void onDestroy() {
        Log.d("TAG","onDestroy");
        super.onDestroy();
    }

}

Activity的啟動(dòng)模式

standard(默認(rèn)standard)、singleTop、singleTask、singleInstance

啟動(dòng)模式的設(shè)置

清單文件中在活動(dòng)聲明中加入launchMode屬性 默認(rèn)為standard方式

 android:launchMode="singleTask"
     <activity android:name=".MainActivity"
            android:launchMode="singleTask"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

standard(默認(rèn)standard)

一直入棧 一直創(chuàng)建新的Activity

在這里插入圖片描述

singleTop

當(dāng)前頁(yè)面中創(chuàng)建當(dāng)前頁(yè)面不會(huì)新創(chuàng)建Activity

在這里插入圖片描述

singleTask

當(dāng)Activity存在則會(huì)將其置頂,Activity上面的棧則會(huì)被彈出!即Activity上面的Activity會(huì)銷毀!

在這里插入圖片描述

singleInstance

每一個(gè)Activity都是唯一的 當(dāng)Activity存在不會(huì)新建新的Activity

在這里插入圖片描述

到此這篇關(guān)于Android Activity的生命周期與啟動(dòng)模式全面解讀的文章就介紹到這了,更多相關(guān)Android Activity 啟動(dòng)模式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

宝山区| 石泉县| 嘉峪关市| 沈阳市| 边坝县| 甘肃省| 喀喇| 阜新| 凭祥市| 弥勒县| 辉县市| 齐齐哈尔市| 清丰县| 宁河县| 曲水县| 新巴尔虎左旗| 新野县| 靖边县| 宁蒗| 平陆县| 常山县| 鹤庆县| 保靖县| 固原市| 林周县| 安国市| 邵武市| 鄂伦春自治旗| 齐齐哈尔市| 宜州市| 惠水县| 敦煌市| 将乐县| 织金县| 安乡县| 兴文县| 张家口市| 二连浩特市| 白水县| 丰都县| 定兴县|