Application生命週期的學習

2021-06-21 04:14:54 字數 1059 閱讀 8159

1、oncreate 在建立應用程式時建立

2、onterminate 當終止應用程式物件時呼叫,不保證一定被呼叫,當程式是被核心終止以便為其他應用程式釋放資源,那麼將不會提醒,並且不呼叫應用程式的物件的onterminate方法而直接終止進 程

3、onlowmemory 當後台程式已經終止資源還匱乏時會呼叫這個方法。好的應用程式一般會在這個方法裡面釋放一些不必要的資源來應付當後台程式已經終止,前台應用程式記憶體還不夠時的情況。

4、onconfigurationchanged 配置改變時觸發這個方法

為了決定在記憶體較低的時候殺掉哪個程序, android會根據執行在這些程序內的元件及他們的狀態把程序劃分成乙個」重要程度層次」. 其重要的程度按以下規則排序:

1:前端程序可以是乙個持有執行在螢幕最前端並與使用者互動的activity的程序(onresume方法被呼叫時),也可以是持有乙個正在執行的intentreceiver(也就是說他正在執行自己的onreceiveintent方法)的程序. 在系統中, 只會有少數這樣的程序, 並且除非記憶體已經低到不夠這些程序執行, 否則系統不會主動殺掉這些程序. 這時, 裝置通常已經達到了需要記憶體整理的狀態, 所以殺掉這些程序是為了不讓使用者介面停止響應.

2:可視程序是持有乙個被使用者可見, 但沒有顯示在最前端 (onpause方法被呼叫時) 的activity的程序. 舉例來說, 這種程序通常出現在乙個前端activity以乙個對話方塊出現並保持前乙個activity可見時. 這種程序被系統認為是極其重要的, 並且通常不會被殺掉, 除非為了保持所有前端程序正常執行不得不殺掉這些可見程序.

5:空程序是沒有持有任何活動應用元件的程序. 保留這種程序的唯一理由是為了提供一種快取機制, 縮短他的應用下次執行時的啟動時間. 就其本身而言, 系統殺掉這些程序的目的是為了在這些空程序和底層的核心快取之間平衡整個系統的資源. www.2cto.com當需要給乙個程序分類的時候, 系統會在該程序中處於活動狀態的所有元件裡掉選乙個重要等級最高作為分類依據. 檢視activity, service,和intentreceiver的文件, 了解每個元件在程序整個生命週期中的貢獻. 每乙個classes的文件詳細描述他們在各自應用的生命週期中所起得作用.

application使用,生命週期

總結為一下幾點 2.單例模式 3.用來共享資料,資料傳遞,資料快取。4.初始化變數,新增so庫等private string data public string getdata public void setdata string data 在activity中通過 進行資料共享。private ...

Application的生命週期

在多數情況下,每個android應用執行在自己的linux程序中.當乙個應用的某段code需要執行的時候這個程序將會被建立,直到不再需要該應用或系統要為其他的應用釋放記憶體的時候才停止.乙個非常重要且少有的特性是,應用程序的存活時間不是由這個應用直接控制的.而是由系統決定的,系統會根據每個已知的正在...

Application生命週期(一)

它的生命週期是整個程式執行中最長的 因為它是全域性的單例,所以在不同的activity和service中獲取的都是乙個物件。第乙個是在配置被改變時觸發 第二個是在程式建立時建立 第三個記憶體不夠時觸發 第四個當終止程式時呼叫 但是不能保證一定呼叫 第五個是在記憶體清理時觸發 1 2 author l...