Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android--Activity的生命周期(二)

Android--Activity的生命周期(二)

編輯:關於Android編程

1、Activity的工作原理

在我們的應用程序中,當存在多個Activity切換時,他們如何切換的。在上一個文章中,我們知道了Activity生命周期的幾個函數,當Activity中發生跳轉時,這些函數的執行過程。
在這篇文章中,想繼續深入下,探討下activity的工作原理。
當我們FirstActivity跳轉到SecondActivity中去,然後在SecondActivity中按下back鍵,又返回到FirstActivity中,這種後進先出的方式,是不是和數據結構中的Stack類似。
看下相應的文檔,果不其然,activity內部原理就是Stack的方式。
下面這幅圖,就是activity的工作原理:
1

當前程序沒啟動時,就如圖1所示的一樣,是一個空的。 程序啟動之後,默認啟動的Activity就會添加進來,假如為FirstActivity,如果在FirstActivity中發生跳轉到SecondActiviy,則把SecondActivity入棧。在SecondActivity中又跳轉到ThirdActivity中,再把ThirdActivity入棧。 如果在ThirdActivity中點擊back退出,則彈出ThirdActivity,回到SecondActivity,以此類推。 注意,這裡可能會存在一個特殊的情況,如果activity不back退出的話,按理說應該會保存在stack中的。但是我們手機的內存是有限的,很可能會因為打開的應用太多,造成系統銷毀不活動的activity。舉例來說,如上圖2,當前的是ThirdActivity,而FirstActivity和SecondActivity是在不活動的狀態下,假如在這時內存不夠了,就會釋放FirstActivity或者SecondActivity的內存,來供程序正常運行。至於怎麼釋放,還要看操作系統的調度機制。

2、上一篇文章的補充

在上一篇文章中舉例說明了,當一個activity在跳轉另一個activity中的執行過程。其實在官方的文檔中,給出了一個圖:
這裡寫圖片描述
上圖詳細的說明了activity的生命周期,看圖還是比較簡單明了的。
當然自己動手重寫那幾個函數試一試,會加深下印象。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved