Android應用程序的周期和網絡優化,建站技術
導讀:建站技術建站技術Android應用程序的生命周期;在大部份情況下,每個Android應用都將運行在自己的Linux進程當中。當這個應用的某些代碼需要執行時,進程就會被創建,并且seo建站技術建站技術員。
Android應用程序的生命周期;
在大部份情況下,每個Android應用都將運行在自己的Linux進程當中。當這個應用的某些代碼需要執行時,進程就會被創建,并且將保持運行,直到該進程不再需要,而系統需要釋放它所占用的內存,為其他應用所用時,才停止。
對于應用開發者來說,理解不同的應用組件(特別是Activity、Service、Intent Receiver)對應用進程的生命周期的影響,這是非常重要的。如果沒有正確地使用這些組件,將會導致當應用正在處理重要的工作時,進程卻被系統消毀的后果。
對于進程生命周期,一個普遍的錯誤就是:當一個Intent Receiver在它的onReceiveIntent()方法中,接收到一個intent后,就會從這個方法中返回。而一旦從這個方法返回后,系統將會認為這個Intent Receiver不再處于活動狀態了,也就會認為它的宿主進程不需要了(除非宿主進程中還存在其它的應用組件)。從而,系統隨時都會消毀這個進程,收回內存,并中止其中還在運行的子線程。問題的解決辦法就是,在IntentReceiver中,啟動一個Service,這樣系統就會知道在這個進程中,還有活動的工作正在執行。
為了決定在內存不足情況下消毀哪個進程,Android會根據這些進程內運行的組件及這些組件的狀態,把這些進程劃分出一個“重要性層次”。這個層次按順序如下織夢模板免費下裁:
1、空進程是那些不擁有任何活動的應用組件的進程。保留這些進程的唯一理由是,做為一個緩存,在它所屬的應用的組件下一次需要時,縮短啟動的時間。同樣的,為了在這些緩存的空進程和底層的核心緩存之間平衡系統資源,系統會經常消毀這些空進程。2、后臺進程是擁有一個用戶不可見的Activity(onStop()方法已經被調用)的進程。這些進程不直接影響用戶的體驗。如果這些進程正確地完成了自己的生命周期(詳細參考Activity類),系統會為了以上三種類型進程,而織夢模板隨時消毀這種進程以釋放內存。通常會有很多這樣的進程在運行著,因些這些進程會被保存在一個LRU列表中,以保證在內存不足時,用戶最后看到的進程將在最后才被消毀。
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-08-06 ,文章Android應用程序的周期和網絡優化,建站技術主要講述應用程序,周期,建站網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_36303.html