這是整個系統(tǒng)架構(gòu)的最高層,主要包括撥打電話、發(fā)送郵件、聯(lián)系人管理、web瀏覽等等用戶經(jīng)常使用的應(yīng)用程序和小工具。
2.2 活動的生命周期及轉(zhuǎn)換
每一個活動(Activity)都處于某一個狀態(tài),對于開發(fā)者來說,是無法控制其應(yīng)用程序處于某一個狀態(tài)的,這些均由系統(tǒng)來完成。但是當(dāng)一個活動的狀態(tài)發(fā)生改變的時候,開發(fā)者可以通過調(diào)用onXX()的方法獲取到相關(guān)的通知信息。
在實現(xiàn)Activity類的時候,通過覆蓋(override)這些方法即可在你需要處理的時候來調(diào)用。
onCreate:當(dāng)活動第一次啟動的時候,觸發(fā)該方法,可以在此時完成活動的初始化工作。onCreate方法有一個參數(shù),該參數(shù)可以為空(null),也可以是之前調(diào)用onSaveInstanceState()方法保存的狀態(tài)信息。
onStart:該方法的觸發(fā)表示所屬活動將被展現(xiàn)給用戶。
onResume:當(dāng)一個活動和用戶發(fā)生交互的時候,觸發(fā)該方法。
onPause:當(dāng)一個正在前臺運行的活動因為其他的活動需要前臺運行而轉(zhuǎn)入后臺運行的時候,觸發(fā)該方法。這時候需要將活動的狀態(tài)持久化,比如正在編輯的數(shù)據(jù)庫記錄等。
onStop:當(dāng)一個活動不再需要展示給用戶的時候,觸發(fā)該方法。如果內(nèi)存緊張,系統(tǒng)會直接結(jié)束這個活動,而不會觸發(fā)onStop方法。
onRestart:當(dāng)處于停止?fàn)顟B(tài)的活動需要再次展現(xiàn)給用戶的時候,觸發(fā)該方法。
onDestroy:當(dāng)活動銷毀的時候,觸發(fā)該方法。和onStop方法一樣,如果內(nèi)存緊張,系統(tǒng)會直接結(jié)束這個活動而不會觸發(fā)該方法。
onSaveInstanceState:系統(tǒng)調(diào)用該方法,允許活動保存之前的狀態(tài),比如說在一串字符串中的光標(biāo)所處的位置等。通常情況下,開發(fā)者不需要重寫覆蓋該方法,在默認的實現(xiàn)中,已經(jīng)提供了自動保存活動所涉及到的用戶界面組件的所有狀態(tài)信息。
活動如果沒有在前臺運行,都將被停止或者Linux管理進程為了給新的活動預(yù)留足夠的存儲空間而隨時結(jié)束這些活動。因此對于開發(fā)者來說,在設(shè)計應(yīng)用程序的時候,必須時刻牢記這一原則。在一些情況下,onPause方法或許是活動觸發(fā)的最后的方法,因此開發(fā)者需要在這個時候保存需要保存的信息。
聯(lián)系客服