溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android之Activity的生命周期

發布時間:2020-07-01 11:31:20 來源:網絡 閱讀:471 作者:墨宇hz 欄目:移動開發
Activity是android中的四大組件(其他三個ContentProvider,Service, Broadcast(BroadcastReceiver))。 在安卓中代表的是程序的一個頁面。為用戶體重一個屏幕,負責與用戶交互。
   創建Activity必須要繼承Activity類。在自定義的Activity中,其中兩個最重要的方法:
1、onCreate(Bundle)方法:這個方法時初始化 Activity的方法。必須要實現這個方法,因為系統在創建Activity的時候回自動調用此方法,在實現這個方法時,應該初始化一些必要的組件,更重要的是必須為Activity用 setContentView()方法設置用戶界面的布局。
2、onPause()方法:使用者在準備離開此Activity的時候,保存用戶的數據,Activity狀態等。
     為了能夠使用Context.startActivity(),所有的activity類都必須在AndroidManifest.xml主配置文件中定義相關的activity標簽。
         Activity有三種本質區別的狀態:
1、Resumed:當activity在前臺得到用戶的焦點時(也稱之為Running狀態)
2、Paused:另一個activity在前端顯示,得到焦點,但是這個activity仍然可見。也就是另一個活動是可見的,部分是透明的,還沒有完全覆蓋掉整個手機屏幕,占用手機較少的內存資源,或者在手機急需要內存資源時,將其結束進程。
3、Stopped:一個Activity被另外的Activity完全覆蓋掉。但是它依然保持所有狀態和成員信息,但是它不再可見,所以它的窗口被隱藏,當系統內存需要被用在其他地方的時候,Stopped的Activity將被殺掉。

Activity的生命周期圖:

android之Activity的生命周期

共有七個生命周期:

·onCreate:當活動首次被創建時調用

·onStart:當活動對用戶可見時調用

·onResume:當活動開始和用戶交互時調用

·onPause:在當前活動被暫停并恢復以前的活動時調用

·onStop:當活動不再對用戶可見時調用

·onDestory:在活動被系統銷毀前(手動或由系統執行以節省內存)前調用

·onRestart:在活動已停止并要再次啟動時調用

在啟動activity時,不是通過類的main方法,而是通過activityonCreate方法。在android程序啟動,在我們能看見時,已經經過了onCreate ---> onStart --->onResume三個過程,當想更了解activity生命周期時,可以重寫activity里面的

protected void onCreate(Bundle savedInstanceState);

protected void onStart();

protected void onRestart();

protected void onResume();

protected void onPause();

protected void onStop();

protected void onDestroy();

的七個方法。加上輸出語句,模擬各種操作,在Logcat中查看輸出。

MainActivity中如下:

package com.zzh.activity;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("tag", "-------------->  onCreate   <-----------");
}
@Override
protected void onStart()
{
super.onStart();
Log.i("tag", "-------------->  onStart   <-----------");
}
@Override
protected void onRestart()
{
super.onRestart();
Log.i("tag", "-------------->  onRestart   <-----------");
}
@Override
protected void onResume()
{
super.onResume();
Log.i("tag", "-------------->  onResume   <-----------");
}
@Override
protected void onPause()
{
super.onPause();
Log.i("tag", "-------------->  onPause   <-----------");
}
@Override
protected void onStop()
{
super.onStop();
Log.i("tag", "-------------->  onStop   <-----------");
}
@Override
   protected void onDestroy()
   {
   super.onDestroy();
      Log.i("tag", "-------------->  onDestroy   <-----------");
    }
}

當進程序啟動進入頁面時:

android之Activity的生命周期

Logcat中出現的日志信息:---->Resumed

android之Activity的生命周期退出程序時:按返回鍵Esc,Logcat中出現的日志信息:Stopped

android之Activity的生命周期如果有電話打來,然后再掛斷,此時的Logcat中出現的日志信息:--Paused--->Resumed

android之Activity的生命周期

三種狀態完成.

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女