成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android Activity入門指南

移動(dòng)開發(fā) Android
本文介紹了Android Activity以及Activity的生命周期,并附實(shí)例,觀察翻轉(zhuǎn)屏幕導(dǎo)致的Activity狀態(tài)變化。

一、理解Activity

Activity是Android程序的4大組件之一。

Activity是Android程序的表示層。程序的每一個(gè)顯示屏幕就是一個(gè)Activity。

學(xué)過WEB開發(fā)的同學(xué),可以把Activity理解成網(wǎng)頁(yè)中的一個(gè)JSP文件;或者你可以把它理解成一個(gè)Windows的窗口。

下面看一下Activity類的繼承關(guān)系:

1.png

從這里可以看到Activity是Context類的子類,大家對(duì)此先有個(gè)印象。

二、理解Activity的生命周期

手機(jī)最重要也是最基礎(chǔ)的功能是打電話,也就意味著電話來的時(shí)候可能隨時(shí)要把現(xiàn)在的程序暫停,如果電量不足的時(shí)候也可能隨時(shí)要把現(xiàn)有程序關(guān)閉;因此 Android程序和電腦上的程序有所不同,具體到Activity,Activity的生命周期不是自身控制的,而是由Android系統(tǒng)控制的。

在android中Activity有四種基本狀態(tài):

1、Running

位于屏幕最前端時(shí),此時(shí)處于可見狀態(tài),和用戶可交互的狀態(tài)。

2、Paused

當(dāng)Acitivy被另一個(gè)透明的或者非全屏的Activity覆蓋時(shí)的狀態(tài)叫Paused狀態(tài),雖然可見但不可交互。

3、Stop

當(dāng)Activity被另外一個(gè)Activity覆蓋、界面不可見時(shí)處于Stop狀態(tài)。

4、Killed

Activity被系統(tǒng)殺死或者跟本沒啟動(dòng)時(shí)就是Killed狀態(tài)。

我們下面看一下Activity的生命周期:

2.jpg

下面是上圖的簡(jiǎn)單翻譯版本:

3.jpg

Activity棧:

Android通過Activity棧的方式來管理Activity。

4.png

正在運(yùn)行的Activity 處在在棧的最頂端,它是運(yùn)行狀態(tài)的;

當(dāng)有新Activity進(jìn)入屏幕最上端時(shí),原來的Activity就會(huì)被壓入第二層,如果他的屏幕沒有被完全遮蓋,那么他處于Pause狀態(tài),如果他被遮蓋那么他處于Stop狀態(tài)。

當(dāng)然不管你出于任何一層,都可能在系統(tǒng)覺得資源不足時(shí)被強(qiáng)行關(guān)閉,當(dāng)然關(guān)閉時(shí)在棧底的程序最先被關(guān)閉。

譬 如:當(dāng)你在程序中調(diào)用 Activity.finish()方法時(shí),結(jié)果和用戶按下 BACK 鍵一樣:他告訴 Activity Manager該Activity實(shí)例可以被“回收”。隨后 Activity Manager 激活處于棧第二層的 Activity 并重新入棧,把原 Activity 壓入到棧的第二層,從 Running 狀態(tài)轉(zhuǎn)到 Paused 狀態(tài)。

三.實(shí)例:觀察翻轉(zhuǎn)屏幕導(dǎo)致的Activity狀態(tài)變化

Activity類中定義了和生命周期相關(guān)的一些方法,這些方法會(huì)在狀態(tài)改變時(shí)被調(diào)用,譬如創(chuàng)建時(shí)調(diào)用的方法onCreate()。因此我們可以寫一個(gè)程序,在程序的每個(gè)一個(gè)方法中寫注釋,然后看看運(yùn)行時(shí)注釋的打印順序來跟蹤Activity的狀態(tài)變化。

 

下面是程序代碼:

  1. package android.basic.lesson4;import android.app.Activity; 
  2. import android.os.Bundle; 
  3. import android.util.Log;public class MainActivityLife extends Activity { 
  4. String tag =”[MainActivityLife]“; 
  5. /** Called when the activity is first created. */ 
  6. @Override 
  7. public void onCreate(Bundle savedInstanceState) { 
  8. super.onCreate(savedInstanceState); 
  9. setContentView(R.layout.main); 
  10. Log.i(tag, “onCreate”); 
  11. }@Override 
  12. public void onStart(){ 
  13. super.onStart(); 
  14. Log.i(tag, “onStart”); 
  15. }@Override 
  16. public void onPause(){ 
  17. super.onPause(); 
  18. Log.i(tag, “onPause”); 
  19. }@Override 
  20. public void onResume(){ 
  21. super.onResume(); 
  22. Log.i(tag, “onResume”); 
  23. }@Override 
  24. public void onStop(){ 
  25. super.onStop(); 
  26. Log.i(tag, “onStop”); 
  27. }@Override 
  28. public void onDestroy(){ 
  29. super.onDestroy(); 
  30. Log.i(tag, “onDestroy”); 

然后調(diào)出LogCat工具,來觀察程序的運(yùn)行細(xì)節(jié)。通過LogCat的過濾器我們可以看到程序啟動(dòng)、屏幕翻轉(zhuǎn)、按后退鍵程序退出的過程,這有助于我們驗(yàn)證剛才所學(xué)的知識(shí)。

5.jpg

我們可以看到屏幕翻轉(zhuǎn)時(shí),Android系統(tǒng)把ActivityLife這個(gè)Activity先殺死 (具體順序是先暫停、后關(guān)閉再銷毀),然后再啟動(dòng)(具體順序是先創(chuàng)建,后啟動(dòng)再恢復(fù))。通過這個(gè)例子我們也清楚的看到了,是Android系統(tǒng)而不是程序 員在控制Activity的生命周期。

責(zé)任編輯:徐川 來源: apkbus
相關(guān)推薦

2019-09-23 12:40:45

Android 10GoogleAndroid

2011-09-07 14:25:53

Android Wid設(shè)計(jì)

2013-12-26 15:26:48

Android SDKActivity生命周期

2011-03-08 09:22:37

2010-08-03 15:19:08

FlexBuilder

2011-05-18 15:15:44

MySQL

2021-03-26 10:31:19

人工智能AIOps

2010-07-20 16:13:25

Perl線程

2010-12-31 13:30:12

2011-03-08 16:50:35

2022-05-08 16:42:27

Rust編程語(yǔ)言

2024-11-19 15:07:07

2019-07-18 07:52:01

路由策略IP路由

2011-01-10 13:21:45

linuxsamba

2015-09-24 09:54:32

物聯(lián)網(wǎng)

2019-10-12 00:24:29

微隔離SDN安全架構(gòu)

2017-11-27 13:09:00

AndroidGradle代碼

2012-03-21 09:47:48

2021-03-15 08:18:10

Web安全黑客漏洞

2010-09-14 13:22:17

Scala編程指南Scala
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: av黄色在线观看 | 色必久久| 91精品国产乱码久久久 | 久久久精品 | 国产精品一区二区不卡 | 色欧美片视频在线观看 | 国产精品久久久久久模特 | 在线成人精品视频 | 日韩欧美在线视频观看 | 视频1区2区 | 中文字幕精品一区 | 国产一区二区三区免费 | 一区免费 | 日韩精品一区二区三区四区视频 | 国产午夜在线观看 | 最新国产精品精品视频 | 亚洲精品久久视频 | 国产在线精品一区二区三区 | 日日夜夜草| 日韩在线不卡视频 | 中文精品视频 | 欧美精品久久久久 | 亚洲 欧美 日韩 精品 | 久久人人爽人人爽人人片av免费 | 成人在线免费视频 | ririsao久久精品一区 | 99这里只有精品视频 | 久久综合九色综合欧美狠狠 | 亚洲影视在线 | 欧美成人一区二区 | 天堂色网 | 五月网婷婷 | 亚洲每日更新 | 岛国在线免费观看 | 99爱在线视频 | 欧美午夜精品久久久久久浪潮 | www.99re | 午夜精品久久久久久不卡欧美一级 | 午夜伦4480yy私人影院 | 日韩精品一区二区三区中文字幕 | 久草在线免费资源 |