日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
AndroidActivity入門指南

一、理解activity

創(chuàng)新互聯(lián)是專業(yè)的凌海網(wǎng)站建設公司,凌海接單;提供成都網(wǎng)站建設、做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行凌海網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

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

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

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

下面看一下Activity類的繼承關系:

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

二、理解Activity的生命周期

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

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

1、Running

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

2、Paused

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

3、Stop

當Activity被另外一個Activity覆蓋、界面不可見時處于Stop狀態(tài)。

4、Killed

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

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

下面是上圖的簡單翻譯版本:

Activity棧:

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

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

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

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

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

三.實例:觀察翻轉屏幕導致的Activity狀態(tài)變化

Activity類中定義了和生命周期相關的一些方法,這些方法會在狀態(tài)改變時被調(diào)用,譬如創(chuàng)建時調(diào)用的方法onCreate()。因此我們可以寫一個程序,在程序的每個一個方法中寫注釋,然后看看運行時注釋的打印順序來跟蹤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工具,來觀察程序的運行細節(jié)。通過LogCat的過濾器我們可以看到程序啟動、屏幕翻轉、按后退鍵程序退出的過程,這有助于我們驗證剛才所學的知識。

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


新聞標題:AndroidActivity入門指南
標題路徑:http://m.5511xx.com/article/cdjohpc.html