• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺析Android之Activity生命周期

      2018-05-14 10:34:07楊碎明孫文高
      知識文庫 2018年7期
      關(guān)鍵詞:前臺調(diào)用生命周期

      楊碎明 孫文高

      理解Android的活動(Activity)生命周期是對一個智能機開發(fā)人員工非常重要的。 只有這樣,才能確保對一個邏輯的用戶的應用程序有效管理其資源。Android中的應用程序(app)并不能管理自已的生命周期,而是由系統(tǒng)進行統(tǒng)一的管理。

      1引言

      在現(xiàn)實生活中,經(jīng)常會用手機打電話,發(fā)短信,玩游戲等,這就需要與手機界面進行交互,用戶與程序的交互是能通過Activity完成的,活動就是Android程序的表現(xiàn)層,展示可視化的用戶界面,并接收與用戶交互所產(chǎn)生的界面事件活動。 活動可表現(xiàn)以下四個狀態(tài): 分別是運行 (Running)狀態(tài)、暫停(paused)狀態(tài)、停止(Stopped)狀態(tài)和銷毀(Destroyed)狀態(tài)。 活動的生命周期就是它所在進程的生命周期。 分為三類:可視生命周期,前臺生命周期、和完整生命周期。

      2活動交互機制

      2.1 活動的四個狀態(tài)

      1)當用戶界面在它在屏幕前臺時,它是激活或運行狀態(tài)。 它就是響應用戶操作的Activity。

      2)當一個界面上面有另外一個Activity,使它失去了焦點但仍然對用戶可視時,這個界面實質(zhì)上處于暫停狀態(tài)。在它之上的Activity如果沒有完全遮蓋整個手機屏幕,或者是透明的,被暫停的Activity仍然對用戶可見,并且是存活狀態(tài)。

      3)當它完全被另一個Activity覆蓋時則處于停止狀態(tài)。它仍然保留所有的狀態(tài)和成員信息,然而對用戶是不可見的。所以它的窗口將被隱藏,如果其它地方需要內(nèi)存,則系統(tǒng)經(jīng)常會殺死這個Activity。

      4)銷毀狀態(tài),不在以上三個狀態(tài)中的活動,如活動已被回收或啟動。

      3 Activity生命周期

      3.1 活動的生命周期

      因為活動直接涉及與用戶交互界面的處理,而任意時刻與用戶交互的界面只有一個,所以Android針對活動的管理采用了具有層次感的棧數(shù)據(jù)結(jié)構(gòu)。活動棧保存了已經(jīng)啟動并且沒有終止的活動,并遵循“先進后出”的原則。例如,在某個時刻只有一個活動處于棧頂,當這個活動被銷毀后,下面的活動才可能處于棧頂,或者是有一個新的活動被創(chuàng)建出來,則上一個活動就被壓下去。

      1)Activity的完整生命周期從首次調(diào)用onCreate()這個方法開始,最后調(diào)用onDestroy()這個方法結(jié)束。在Activity生命周期中,用onCreate()中設(shè)置所有“全局”狀態(tài)以完成初始化,而在onDestroy()中釋放所有系統(tǒng)資源。

      2)Activity的可視生命周期從調(diào)用onStart()方法開始,最后調(diào)用的onStop()結(jié)束。在這個過程中,,用戶可以在屏幕上看到Activity活動, 雖然有時它不和用戶交互,也許它位于后臺 3)Activity的前臺生命周期從調(diào)用onResume()開始,最后調(diào)用相應的onPause()為結(jié)束。在這個過程中,Activity位于前臺最上面并與用戶進行交互, 傳遞消息。Activity會經(jīng)常在暫停和恢復之間進行狀態(tài)轉(zhuǎn)換——例如當設(shè)備轉(zhuǎn)入休眠狀態(tài)或者有新的Activity啟動時,將調(diào)用onPause() 方法。當Activity獲得結(jié)果或者接收到新的Intent時會調(diào)用onResume() 方法。

      4)Activity的onSaveInstanceState()和 onRestoreInstance

      State()方法

      Activity的 onSaveInstanceState() 和 onRestoreInstance

      State()這兩兩個方法并不是生命周期方法,它們與 onCreate()、onPause()等生命周期方法有本質(zhì)的區(qū)別,它們常常并不會被調(diào)用,而當發(fā)生意外時才觸發(fā)。如當應用遇到意外情況,由系統(tǒng)銷毀一個Activity時,onSaveInstanceState()才會被調(diào)用。但是當用戶有意去銷毀一個Activity時,例如在應用中按返回鍵,onSaveInstanceState()就不會被調(diào)用。在這種情況下因為用戶的行為決定了,不需要保存Activity的狀態(tài)。通常onSaveInstanceState()只適合用于保存一些 暫時性的狀態(tài),而onPause()適合用于數(shù)據(jù)的永久保存。

      Activity生命周期一般分為四個基本狀態(tài),分別是活動狀態(tài)(running),暫停狀態(tài)(paused),停止狀態(tài)(stopped)和死亡狀態(tài)。 Activity七大生命周期函數(shù), Activity一共有七個生命周期函數(shù),分別為 onCreate(), onRestart(), onStart(), onReusme(), onPause(), onStop(), onDestory()。其實在一個Activity整個生命周期中上述七大生命周期并不是一定都會被執(zhí)行的,有時由于系統(tǒng)內(nèi)存不足的緣故,部分生命周期函數(shù)將會被跳過不執(zhí)行。

      (作者單位:西安交通工程學院)

      猜你喜歡
      前臺調(diào)用生命周期
      動物的生命周期
      全生命周期下呼吸機質(zhì)量控制
      核電項目物項調(diào)用管理的應用研究
      從生命周期視角看并購保險
      中國外匯(2019年13期)2019-10-10 03:37:46
      民用飛機全生命周期KPI的研究與應用
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      公路電助力 從幕后走向前臺
      中國自行車(2018年6期)2018-07-23 03:17:24
      孟晚舟:從前臺打雜到華為副總裁
      海峽姐妹(2018年6期)2018-06-26 07:27:15
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
      前臺、后臺精彩花絮停不了
      風采童裝(2016年2期)2016-08-02 09:18:38
      财经| 莱阳市| 宝鸡市| 阳东县| 盈江县| 山阳县| 汕头市| 成武县| 大荔县| 泰和县| 文成县| 蕉岭县| 永登县| 平遥县| 阳曲县| 兴隆县| 通州区| 古浪县| 仙桃市| 当涂县| 奈曼旗| 灵石县| 砀山县| 神池县| 花莲县| 武汉市| 江华| 广汉市| 山阴县| 固安县| 海兴县| 定襄县| 台湾省| 威信县| 岑巩县| 临安市| 敖汉旗| 汤原县| 武强县| 禹州市| 诏安县|