這是一個系列,咱們將其命名爲工具箱,若是你尚未看以前的文章:segmentfault
Android工具箱之Android 6.0權限管理blog
用戶打開app,瀏覽頁面,Android機器在棧內維護activitys。當前呈現給用戶的activity老是在棧頂。生命週期
activity的生命週期一般有這四個:圖片
Running activity處於棧頂,正在運行資源
Paused activity仍然可見,可是不和用戶交互
Stopped activity再也不可見
Killed activity被系統殺死或者主動調用了onfinish()方法。
咱們能夠看一看這張圖:
注意:onresume和onpause,onPause和onStop的區別。在onResume方法中,常常會寫一些刷新數據或者其餘非耗時操做,一樣onPause也是在activity結束以前,作相關的保存數據工做。onPause和onStop的區別,根據上圖就可知,onPause的時候,activity仍然可見,但onStop的時候,activity徹底不可見。那麼在何時會執行onPause,不執行onStop呢,答案是在展示Dialog或者其餘浮層的時候。
你應該在寫oncreate方法以前調用父類方法,這一樣也是Java規範。在onPause方法以後調用父類方法。原則是初始化以前是先調用父類方法,結束以前是後調用父類方法。
public void onCreate() { super.onCreate(); // do work after super class function // setContentView(R.layout.main); } public void onPause() { // do work here first before super class function // LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver); super.onPause(); }