亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Activity生命周期詳解

發布時間:2020-07-05 18:32:41 來源:網絡 閱讀:328 作者:JustMetU 欄目:開發技術
  1. Activity的生命周期





Activity的生命周期始于onCreate(),止于onDestory()。




Activity的基本生命周期如下代碼 所示:
public  class MyActivity extends Activity {
protected  void onCreate(Bundle savedInstanceState);
protected  void onStart();
protected  void onResume();
protected  void onPause();
protected  void onStop();
protected  void onDestroy();
}


我們自己寫的Activity會按需要 重載這些方法,在一個Activity正常啟動的過程中,他們被調用的順序是 onCreate -> onStart -> onResume, 在Activity被pass掉的時候順序是onPause -> onStop -> onDestroy ,這樣就是一個完整的生命周期,但是有人問了 ,程序正運行著呢來電話了,這個程序咋辦?中止了唄,如果中止的時候新出的一個Activity是全屏的那么:onPause->onStop ,恢復的時候onStart->onResume ,如果打斷 這個應用程序的是一個Theme為Translucent 或者Dialog 的Activity那么只是onPause ,恢復 的時候onResume 。

詳細介紹一下這幾個方法中系統在做什么以及我們應該做什么:
onCreate: 在這里創建界面 ,做一些數據 的初始化工作
onStart: 到這一步變成用戶可見不可交互 的
onResume: 變成和用戶可交互 的,(在activity 棧系統通過棧的方式管理這些個
Activity的最上面,運行完彈出棧,則回到上一個Activity)
onPause: 到這一步是可見但不可交互 的,系統會停止動畫 等消耗CPU 的事情
從上文的描述已經知道,應該在這里保存你的一些數據,因為這個時候
你的程序的優先級降低,有可能被系統收回。在這里保存的數據,應該在
onResume里讀出來,注意:這個方法里做的事情時間要短,因為下一
個activity不會等到這個方法完成才啟動
onstop: 變得不可見 ,被下一個activity覆蓋了
onDestroy: 這是activity被干掉前最后一個被調用方法了,可能是外面類調用finish方
法或者是系統為了節省空間將它暫時性的干掉,可以用isFinishing()來判
斷它,如果你有一個Progress Dialog在線程中轉動,請在onDestroy里
把他cancel掉,不然等線程結束的時候,調用Dialog的cancel方法會拋
異常的。
onPause,onstop, onDestroy,三種狀態 下 activity都有可能被系統干掉
為了保證程序的正確性,你要在onPause()里寫上持久層操作的代碼,將用戶編輯的內容都保存到存儲介質上(一般都是數據庫 )。實際工作中因為生命周期的變化而帶來的問題也很多,比如你的應用程序起了新的線程在跑,這時候中斷了,你還要去維護那個線程,是暫停還是殺掉還是數據 回滾,是吧?因為Activity可能被殺掉,所以線程中使用的變量和一些界面元素就千萬要注意了,一般都是采用Android的消息機制 [Handler,Message]來處理多線程和界面交互的問題。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西华县| 巴林左旗| 武清区| 武山县| 巨鹿县| 湾仔区| 民和| 阳春市| 淮滨县| 渑池县| 永嘉县| 昌都县| 兴国县| 息烽县| 阿瓦提县| 井冈山市| 天峨县| 航空| 轮台县| 客服| 香河县| 如东县| 沽源县| 林甸县| 牙克石市| 长岛县| 绥滨县| 林口县| 东至县| 潞城市| 宁陕县| 郸城县| 滦平县| 道孚县| 方城县| 读书| 分宜县| 海淀区| 扶沟县| 遵义县| 遂川县|