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

首頁 > 學院 > 開發設計 > 正文

安卓activity的基礎知識

2019-11-09 13:55:38
字體:
來源:轉載
供稿:網友

Activity的生命周期和啟動模式

一. Activity的生命周期

1.完整生存期活動在 onCreate()方法和onDestroy()方法之間所經歷的,就是完整生存期。一般情況下,一個活動會在 onCreate()方法中完成各種初始化操作,而在onDestroy()方法中完成釋放內存的操作。

2. 可見生存期活動在 onStart()方法和onStop()方法之間所經歷的,就是可見生存期。在可見生存期內,活動對于用戶總是可見的,即便有可能無法和用戶進行交互。我們可以通過這兩個方法,合理地管理那些對用戶可見的資源。比如在 onStart()方法中對資源進行加載,而在 onStop()方法中對資源進行釋放, 從而保證處于停止狀態的活動不會占用過多內存。

3. 前臺生存期活動在 onResume()方法和onPause()方法之間所經歷的,就是前臺生存期。在前臺生存期內,活動總是處于運行狀態的,此時的活動是可以和用戶進行相互的,我們平時看到和接觸最多的也這個狀態下的活動。 (有窗口活動時)

二、Activity得啟動模式

1.standard 系統的默認模式在standard 模式(即默認情況)下,每當啟動一個新的活動,它就會在返回棧中入棧,并處于棧頂的位置。對于使用standard 模式的活動,系統不會在乎這個活動是否已經在返回棧中存在,每次啟動都會創建該活動的一個新的實例。                        2.singleTop 當活動的啟動模式指定為 singleTop,在啟動活動時如果發現返回棧的棧頂已經是該活動,則認為可以直接使用它,不會再創建新的活動實例。但是當前活動如果不在棧頂,還是會重新創建活動的。3.singleTask當活動的啟動模式指定為singleTask,每次啟動該活動時系統首先會在返回棧中檢查是否存在該活動的實例,如果發現已經存在則直接使用該實例,并把在這個活動之上的所有活動統統出棧,如果沒有發現就會創建一個新的活動實例。4.singleInstance指定為singleInstance 模式的活動會啟用一個新的返回棧來管理這個活動(其實如果 singleTask模式指定了不同的 taskAffinity,也會啟動一個新的返回棧) 圖中的活動2 就新開了活動棧按下 Back 鍵進行返回, 發現 ThirdActivity直接返回到了 FirstActivity,再按下 Back 鍵又會返回到 SecondActivity,再按下 Back 鍵才會退出程序,這是為什么呢?其實原理很簡單,由于 FirstActivity 和ThirdActivity 是存放在同一個返回棧里的,當在ThirdActivity 的界面按下Back 鍵,ThirdActivity會從返回棧中出棧,那么 FirstActivity就成為了棧頂活動顯示在界面上,因此也就出現了從 ThirdActivity 直接返回到FirstActivity 的情況。然后在 FirstActivity 界面再次按下Back 鍵,這時當前的返回棧已經空了,于是就顯示了另一個返回棧的棧頂活動,即 SecondActivity。最后再次按下Back 鍵,這時所有返回棧都已經空了,也就自然退出了程序
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五家渠市| 阿荣旗| 泗阳县| 永靖县| 界首市| 荃湾区| 涿州市| 绩溪县| 梅州市| 益阳市| 惠州市| 尤溪县| 双城市| 平邑县| 宾阳县| 通化市| 任丘市| 和林格尔县| 尉犁县| 永福县| 景谷| 全州县| 广西| 南昌市| 武隆县| 建平县| 璧山县| 涟源市| 华宁县| 迁西县| 大港区| 高碑店市| 抚州市| 丰城市| 本溪市| 景宁| 栾城县| 涞源县| 方城县| 壤塘县| 奇台县|