12
今天起,在工作之餘記錄下一年以來android所學,雖然都是基礎知識,但是整理出來也是非常重要。activity作為android最重要的元件之一,也是初學者第乙個會接觸到的。
這是一張廣為流傳的activity生命週期圖。
在 android 中,activity 擁有四種基本狀態:
active/runing乙個新 activity 啟動入棧後,它在螢幕最前端,處於棧的最頂端,此時它處於可見並可和使用者互動的啟用狀態。
paused當 activity 被另乙個透明或者 dialog 樣式的 activity 覆蓋時的狀態。此時它依然與視窗管理器保持連線,系統繼續維護其內部狀態,所以它仍然可見,但它已經失去了焦點故不可與使用者互動。
stoped當 activity 被另外乙個 activity 覆蓋、失去焦點並不可見時處於 stoped狀態。
killedactivity 被系統殺死**或者沒有被啟動時處於 killed狀態。
在建立乙個activity並啟動,生命從**oncreate()-->onstart()-->onresume()**,狀態處於active/runing。
乙個activity的oncreate()方法在整個生命週期只會被呼叫一次,除非在這個activity因為自身或其他原因被銷毀掉。
1、android手機有home鍵和返回鍵。在按下home鍵之後,當前應用會退回到桌面。此時生命週期執行過程是**onpause()-->onstop();** activity處於stoped狀態。
2、若返回鍵功能沒有被重寫,在按下返回鍵之後,當前activity會退出,執行生命週期**onpause()-->onstop()-->ondestroy()**;activity處於killed狀態,當前activity已經被銷毀。
3、若從activity1跳轉到activity2,那麼只會執行onpause()-->onstop();前乙個activity被存在棧中,處於stoped狀態。
4、什麼時候會處於paused狀態呢,activity在完全看不到的狀態下,會處於stoped狀態,如1、3。
但是activity在某個activity下,但是沒有被完全擋住時,只會執行onpause(),處於paused狀態,這種情況發生在情況3中activity是以dialog形式跳轉的時候。
5、activity恢復過程,onpause()是直接恢復到onresume(),onstop()狀態是恢復到onstart(),然後執行onresume()。activity處於running狀態。
12 34 5
6 78 9
1011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
3435
3637
3839
4041
4243
4445
4647
4849
5051
5253
5455
5657
5859
6061
6263
6465
6667
6869
7071
7273
7475
packageactivity2在mainifest.xml裡面這樣宣告com.
example
.activitylifetest
;import
android.os.bundle
;import
;import
android.content.intent
;import
android.util.log
;import
android.view.keyevent
;import
android.view.menu
;import
android.view.view
;public
class
androidlifetest
extends
activity
@override
protected
void
onstart
()@override
protected
void
onresume
()@override
protected
void
onpause
()@override
protected
void
onstop
()@override
protected
void
ondestroy
()public
void
onclick
(viewv)
private
void
slog
(string
str)
@override
public
boolean
onkeydown
(int
keycode
,keyevent
event
)return
super
.onkeydown
(keycode
,event);}
}
1
android:name=第一次啟動activity".activity2"
android:theme=
"@android:style/theme.dialog"
>
按下home鍵再進入,按下返回鍵再進入。
跳轉到activity2並返回
android 四大元件
1.activity 2.service 3.contentprovider 應用中的資料,對外進行共享,其它應用可以通過內容提供者,可以訪問到你應用中的資料,對資料進行增刪改查 1 對不同的資料格式,統一了檔案格式和資料訪問api 2 內容提供者要繼承contentprovider類 3 在清單檔...
Android 四大元件
activity intent receiver service content provider 並不是每乙個android應用程式都需要這四種構造塊,這不是必須的。當我們明確了我們的應用需要哪些構造塊後,我們就需要在androidmanifest.xml中登記這些構造塊的清單。這個配置檔案用於定...
android四大元件
android 四大元件 1.contentprovider contentprovider是什麼 android中的乙個應用元件 作為乙個引用元件的表現是生命週期方法 android中內容提供者 一般是內部儲存中的資料 contentprovider 物件的應用場合 例如 3.contentpri...