真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

在Android平臺下如何控制應用程序生命周期

本篇文章為大家展示了在Android平臺下如何控制應用程序生命周期,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創(chuàng)新互聯專注于惠安網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供惠安營銷型網站建設,惠安網站制作、惠安網頁設計、惠安網站官網定制、小程序開發(fā)服務,打造惠安網絡公司原創(chuàng)品牌,更為您提供惠安網站排名全網營銷落地服務。

我們向很多朋友介紹過Android特有的虛擬機:Dalvik虛擬機工作原理介紹。Android各個應用在運行時的進程管理和內存管理都是相對獨立的,Android應用程序并不能控制自己的生命周期。小編將介紹如何控制應用程序生命周期。

一、前言

與大多數傳統(tǒng)的操作系統(tǒng)環(huán)境不同,Android應用程序并不能控制自己的生命周期。所以應用的各個組件(activity,Service……)就得時刻小心的監(jiān)聽應用的狀態(tài)變化對它們的影響,防止在不適當的時機被終止掉。(可能會造成數據丟失哦)

在Android中每個應用都具有獨立的進程運行在獨立的Dalvik(Android特有的虛擬機)。各個應用在運行時的進程管理和內存管理都是相對獨立的。Android使用一種“侵占性”的方式管理系統(tǒng)資源,這意味著為了釋放資源給高優(yōu)先級的程序(通常情況下是正在與用戶進行直接交互的程序),某些進程及其宿主程序將會在沒有任何提示警告的情況下被無情的結束。

二、理解應用的優(yōu)先級和進程狀態(tài)

結束一些進程是為了釋放回收資源,那么那些進程會被結束?是A先結束還是B先結束呢?這決定于宿主應用程序的優(yōu)先級了。一個應用的優(yōu)先級等同于具有***優(yōu)先級的組件的優(yōu)先級。如果此刻兩個程序具有相同的優(yōu)先級,那么曾經哪個進程處于低優(yōu)先級的時間較長,就會被結束掉。進程的優(yōu)先級受到進程間附屬關系的影響,比如A應用依賴的Service或者Content Provider是由B應用提供的,那么B將會具有更高的優(yōu)先級。所有的Android應用都會遺留在內存中運行,直到系統(tǒng)需要釋放回收資源才會被結束掉。

在Android平臺下如何控制應用程序生命周期
圖示:各種進程及其對應的優(yōu)先級

Activity Process 活動進程是其宿主程序更用戶直接交互的組件,Android會嘗試通過回收各種資源來保證其運行狀態(tài)。此類進程數量少,通常是***被結束掉的。

活動進程包含下面幾種:

Activity處于激活狀態(tài),也就是說處于foreground,接收響應用戶事件;

Activities, Services, or Broadcast Receivers 正在執(zhí)行處理OnReceive 事件;

Services 正在執(zhí)行處理 onStart, onCreate, or onDestroy 事件.

Visible Process 可視化,但是不處于活動狀態(tài)的Activity。它們不處于foreground也不接受響應用戶事件。這中情況發(fā)生在Activity有部分被覆蓋了(比如我們點擊A里面的一個按鈕,彈出一個Dialog,此時A就變成一個可視進程)。可視進程同樣很少,只有在極端的情況下,為了保證Activity Process的運行才會被結束掉。

Started Service Process 注意,是啟動后的服務進程。服務進程需要在沒有可視化界面的情況下持續(xù)運行,因為服務沒有和用戶直接交互。它們依然被認為是前臺進程,只有當Visible和Activity Process需要資源的時候才會被結束。

Background Process 一個進程附屬在不可視的Activity 也沒有任何啟動的服務進程就變成了后臺進程。通常情況下Android里面會有一大堆后臺進程,Android用 last-seen-first-killed 這種方式來結束此類進程,從而為foreground進程提供資源。

Empty Process 為了改善整個系統(tǒng)的性能,Android會在內存中保留已經結束生命周期的應用程序。Android保留這些緩存為了是應用能夠快速啟動。它們將會按照一貫的情況被結束掉。

綜上所述,正確的組織應用程序,確保穩(wěn)定運行,防止運行中途被終止是非常重要的。

上述內容就是在Android平臺下如何控制應用程序生命周期,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。


文章名稱:在Android平臺下如何控制應用程序生命周期
瀏覽地址:http://weahome.cn/article/ipiieh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部