国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

故事講解Activity生命周期(貓的一生)

2019-10-23 18:33:20
字體:
來源:轉載
供稿:網友

大家好,關于Android中Activity的生命周期,網上大多數文章基本都是直接貼圖、翻譯API,比較籠統含糊不清。

activity,生命周期

我就用故事來說一說:

有個人叫User,TA養了幾只貓,有只貓叫Activity。User見證了Activity貓的一生。

activity,生命周期

User想要一只小貓(想用一些功能),于是讓一只母貓和一只公貓交配(觸摸屏幕打開Activity界面),

之后經過母貓一段時間的孕育(Activity launched),小貓咪出生了(onCreate),取名叫Activity,放在籠子(App)里養。

主人把它抱出來,小貓咪Activity醒來(onStart)睜開眼(onResume),轉轉頭、伸伸爪子、哭鬧著要吃東西...(Activity running)。

然后主人喂食、和它玩(用戶在Activity上的操作)...

User覺得和Activity一起的時間差不多夠了,就(打開新的Activity)把它關進籠子,和其它貓一邊玩去了(Another activity comes into the foreground)。

Activity就開始閉目養神(onPause)...

過了一會兒,主人打開籠子,呼喚它的名字(User returns to the activity),它聽到后馬上睜開眼(onResume)跑過去和主人玩耍(Activity running)...

后來主人又把它關起來然后走了,Activity繼續閉目養神(onPause)...

再后來主人把燈關了(The activity is no longer visible),Activity感覺天黑了就睡了(onStop)...

不知道什么時候,主人又回來了,一邊敲籠子、一邊叫著Activity的名字(User navigates to the activity),

Activity被從美夢中拉回了現實世界,恢復了狀態(onRestart),然后醒來(onStart)睜開眼(onResume)...

就這樣不知不覺過了很久...

有一次主人(按下主頁、多任務或電源按鈕)出遠門了,好久沒回來,家里的食物不夠,很快就被大家吃光了(Apps with higher priority need memory)。

由于Activity很弱小(優先級低)、還被關在籠子里(沒有綁定前臺Service),所以吃到的食物很少。

幾頓饑渴后大家都餓昏了,紛紛進入休克狀態(App process killed)。

主人回來時看到可憐的Activity一動不動地躺著,怎么都叫不醒,就趕緊送去獸醫院搶救(User navigates to the activity)。

醫生給它輸了血和營養等(系統重新分給內存),經過一段時間后Activity終于復活了,它感覺好像重新從媽媽的肚子里出來一樣(onCreate)。

它醒來(onStart)睜開眼(onResume),和主人打打鬧鬧(Activity running),過了一會兒主人就帶著它回家了...

俗話說,大難不死必有后福,之后主人確實對Activity照顧有加。

可是天有不測風云,有一天Activity被一個壞蛋弄死了(The activity is destroyed by the system)。

Activity死了(onDestroy),User很傷心地把它埋了(Activity shut down)...

User很留戀和Activity在一起的時光,心有不甘,于是重新要了一只小貓,名字仍然叫Activity...

Activity一天天長大,主人對它非常寵愛,但它卻越來越叛逆。

終于有一天,主人受夠了,覺得Activity實在太可惡(或者沒有利用價值)就(點擊返回按鈕)把它拋棄了(The activity is finished)...

Activity不適應外部惡劣的環境很快就死了(onDestroy),大自然用風和泥土把它埋葬(Activity shut down)...

這就是Activity貓的一生。

ZBLibrary提供了isAlive()、isRunning()等判斷Activity、Fragment生命周期狀態的方法;

以及runUiThread(Runnable runnable)方法來避免直接runOnUiThread(Runnable runnable)導致在onDestroy后運行崩潰;

還有線程管理類ThreadManager,BaseActivity、BaseFragment內可以runThread(String tag, Runnable runnable)很方便地新開線程,

onDestroy后自動釋放,不用擔心直接new Thread(runnable).start()在onDestroy后還在運行浪費資源,甚至使用被回收的變量導致崩潰等問題。

ZBLibrary-Android快速開發框架

activity,生命周期

下載試用

ZBLibraryDemoApp.apk

下載地址(覺得不錯就Star支持下吧^_^)

?https://github.com/TommyLemon/Android-ZBLibrary

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持VEVB武林網!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马尔康县| 潍坊市| 通辽市| 伊通| 阿拉尔市| 抚顺市| 永春县| 靖州| 旬阳县| 张家口市| 托里县| 蓬安县| 桂林市| 闽清县| 若尔盖县| 湘潭县| 定陶县| 同心县| 天气| 津南区| 定州市| 射阳县| 施甸县| 三亚市| 嘉善县| 图木舒克市| 清河县| 沁源县| 会理县| 福建省| 台北市| 绍兴县| 德令哈市| 伊宁市| 盐城市| 晋宁县| 会东县| 屯留县| 永川市| 怀安县| 高淳县|