1. 程式人生 > >Android Activity原理以及其子類描述

Android Activity原理以及其子類描述

簡介

         Activity是Android應用程式元件,實現一個使用者互動視窗,我們可以實現佈局填充螢幕,也可以實現懸浮視窗。一個app由很多個Actvitiy組合而成,它們之間用intent-filter區別主次關係。
下面將簡單介紹Activity以及其子類和其它介面。

詳情
1、Activity


2、ListActivity


3、ActivityGroup


4、TabActivity


5、PreferenceActivity


6、FragmentActivity 

7、ListFragment


8、NativeActivity


9、ExpandableListActivity


10、LauncherActivity



11、AliasActivity



12、PreferenceFragment


13、ActivityCompat
14、ActivityUnitTestCase



Activity 管理
目前涉及到Activity管理的類就兩個:1、LocalActivityManager  2、ActivityManager。它們分別做了什麼呢?



生命週期


這裡有三個比較關鍵的生命週期。

從最初呼叫onCreate(Bundle)到最終呼叫onDestroy()稱為完整生命週期。Activity會在onCreate()進行所有“全域性”狀態的設定,在onDestroy()中釋放所有持有的資源。舉個例子,如果它有一個從網路上下載資料的後臺執行緒,那他可能就會在onCreate()中建立這個執行緒並在onDestroy()中停止這個執行緒。

從activity呼叫onStart()開始,到呼叫對應的onStop()為止稱為可見生命週期。在這段時間內使用者可以在螢幕上看到這個activity,儘管並不一定是在前景也不一定可以和使用者互動。在這兩個方法之間你可以維護那些activity在使用者顯示時所需的資源。舉個例子來說,你可以在onStart()中註冊一個IntentReceiver來監控那些可以對你的UI產生影響的環境改變,當你的UI不繼續在使用者面前顯示時你可以在onStop()中登出這個IntentReceiver。每當activity在使用者面前顯示或者隱藏時都會呼叫相應的方法,所以onStart()和onStop()方法在整個生命週期中可以多次被呼叫。

從activity呼叫onResume()開始,到呼叫對應的onPause()為止稱為前景生命週期,這段時間activity處於其他所有activity的前面,且與使用者互動。一個activity可以經常在resumed和paused狀態之間轉換——例如手機進入休眠時、activity的結果返回時、新的intent到來時——所以這兩個方法中的程式碼應該非常的簡短。

下面的Activity方法定義了activity完整的生命週期。他們全都是hook方法,你可以過載這些方法從而使activity在狀態改變時執行你所期望的操作。所有activity都應該實現自己的onCreate(Bundle)方法來進行初始化設定;大部分還應該實現onPause()方法提交資料的修改並且準備終止與使用者的互動。儘管我們計劃在系統中新增更多的工具來管理應用,現在大多activity仍需要實現onFreeze()並且在onCreate(Bundle)中執行對應的狀態恢復。其他的方法可以在需要時進行實現,當實現這些方法的時候需要注意的是一定要呼叫父類中的對應方法。

相關推薦

Android Activity原理及其描述

簡介         Activity是Android應用程式元件,實現一個使用者互動視窗,我們可以實現佈局填充螢幕,也可以實現懸浮視窗。一個app由很多個Actvitiy組合而成,它們之間用intent-filter區別主次關係。下面將簡單介紹Activity以及其子類和其

Android View與GroupView原理及其描述

簡介View是Android UI元件的基類,ViewGroup是容納UI元件的容器,ViewGroup本身也是從View派生出來的。簡單的說,Android UI介面是由View和ViewGroup及其派生類組合而成的,其結構示意圖:下面將簡單的介紹View與GroupVi

Android之AdapterView及其的介紹

Apater是介面卡 AdapterView 顯示一堆資料 —AbsListView —-ListView,GridView —AbsSpinner —-Gallery,Spinner ListView

Android技術——列表呈現,AdapterView及其(下)

八:用Adapter向GridView提供資料 1、GridView用於在介面上安行列分佈的方式顯示子項。 2、GridView與ListView有共同父類:ABSListView,因此它們高度相似,它們都是用於呈現列表項。它們的唯一區別是:ListView只顯示一列,Gr

SRS學習筆記10-SrsConnection及其分析

when red ins parse discovery bsp for port std SrsConnection類代表一個client的連接,其中封裝了st thread,用於在一個單獨的st thread裏處理一個client的服務請求. SrsConnection

UI組件之AdapterView及其(四)Gallery畫廊控件使用

convert cal instance ram scaletype 循環 reat targe 外觀 聽說 Gallery如今已經不使用了,API使用ViewPaper取代了,以後再學專研ViewPaper吧如今說說Gallery畫廊,就是不停顯示圖片的意思 Gall

UI組件:TextView及其

時間 raw 界面 realtime 字體 框圖 相對 mage 導入   TextView(文本框)   一、TextView作用類似於JLable用於在界面上顯示文本    二、TextView沒有邊框,如果需要邊框可以導入背景框的圖片,背景框可以自定義為背景顏色漸變

UI組件:ImageView及其

button 聯系人 round span 按鈕 界面 bad -a color   ImageView     用於顯示所有Drawable對象  ImageButton(圖片按鈕) 註意點:和Button的區別是:Button可以顯示文字,而ImageButton不

Java 集合-Set接口及其

允許 ret ins ict amp println out ++ || 2017-10-31 19:20:45 Set:無序且唯一 實現子類:HashSet, HashSet 此類實現 Set 接口,由哈希表(實際上是一個 HashMap 實例)支持。它不保

Azure RIS的工作原理及其與AWS RIs的比較

雲計算 雲服務 微軟在2018年初宣布了針對Azure的Reserved Instances,新的Azure Reserved Instances與AWS的實例保留(RIs)有很多相似之處,但是他們也有一些關鍵的差別。從積極的方面看,和AWS RIs的按需價格相比Azure RIs可以提供更高的節省水

Scope及其介紹

AR ica oat 元素 equal mco ans font style 之前寫的文章: 關於作用域範圍Scope Scope及相關的子類如下: 同時有些Scope還繼承了Scope.ScopeListener類,如下: 1、StarImportSco

scrapy spider及其

level __init__ 常用 mit read none them csv sna 1.spider傳參   在運行 crawl 時添加 -a 可以傳遞Spider參數: scrapy crawl myspider -a category=electronics

27-集合--Set及其(HashSet+LinkedHashSet+TreeSet)+二叉樹+Comparable+Comparator+雜湊表+HashSet儲存自定義物件+判斷元素唯一的方式

一、Set 1、Set:元素不可以重複,是無序的(存入和取出的順序不一致) 2、Set介面中的方法和Collection中的方法一致 3、Set集合的元素取出方式只有一種:迭代器iterator() Set set = new HashSet(); I

阻塞佇列BlockingQueue及其的使用

     BlockingQueues在java.util.concurrent包下,提供了執行緒安全的佇列訪問方式,當阻塞佇列插入資料時,如果佇列已經滿了,執行緒則會阻塞等待佇列中元素被取出後在插入,當從阻塞佇列中取資料時,如果佇列是空的,則執行緒會阻塞等待佇列中有新元素。本文詳細介紹了BlockingQu

yaml檔案的讀取及其工具

由於在工作中會出現一系列以鍵值對形式選項引數對應,可以通過yaml檔案進行讀取檔案流。 type.yml #計劃稽核表-查詢型別 TCX_JHSBB_AUDIT_searchSblx: - valueData: 1 displayName: 待稽核 - v

Java中Map集合及其

Collection集合的特點是每次進行單個物件的儲存,如果現在要進行一對物件的儲存,就只能用Map集合來完成,即Map集合中會一次性儲存兩個物件,且這兩個物件的關係:key = value結構。這種結構的最大特點是可以通過key找到對應的value內容。1.Map介面Map

List介面與Set介面及其的詳細用法。Collection介面簡介。ArraList,LinkedList,Vector

(一)連結串列的特點:(1)這種節點關係的處理操作,核心需要一個Node類(儲存資料,設定引用)(2)在進行連結串列資料的查詢,刪除的時候需要equals()方法的支援。在實際的開發中對於這些資料的使用都有一些共性的特點:儲存進去而後取。             (二)Jav

UIView及其

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override poin

CharSequence及其用法總結

本文分析CharSequence及其幾個子類,如String、StringBuilder、StringBuffer、Editable。 1、通過反編譯來比較String和StringBuilder效能 反編譯:通過對可執行程式逆向分析,推匯出他人軟體的結構、思路、演算法、原

Hibernate各類概念-樂觀鎖原理及其配置方法

Hibernate使用樂觀鎖來處理髒資料問題首先看不使用樂觀鎖的情況 故意創造一個場景來製造髒資料。 1. 通過session1得到id=1的物件 product1 2. 在product1原來價格的基礎上增加1000 3. 更新product1之前,通過session2得