溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android(1)--Application和Activity

發(fā)布時(shí)間:2020-07-19 08:14:01 來(lái)源:網(wǎng)絡(luò) 閱讀:460 作者:HelloToDays 欄目:移動(dòng)開發(fā)


一.Android應(yīng)用程序類型:

(1)前臺(tái)應(yīng)用程序--需要考慮Activity的生命周期

        只能運(yùn)行在前臺(tái)的應(yīng)用,當(dāng)他不可見(jiàn)時(shí)就會(huì)被掛起,例如:游戲應(yīng)用;

(2)后臺(tái)應(yīng)用程序--Service 和 BroadcastReceiver是后臺(tái)應(yīng)用程序的驅(qū)動(dòng)者

        交互非常有限的一個(gè)應(yīng)用,除非在配置期間,的其他生命期間都是隱藏的,例如:鬧鐘;

(3)間歇性應(yīng)用程序--Activity、Service 和 BroadcastReceiver、以及Notification聯(lián)合使用

        當(dāng)應(yīng)用可見(jiàn)時(shí),更新UI;當(dāng)應(yīng)用不可見(jiàn)時(shí),則發(fā)通知(或其他方式)來(lái)告知最新動(dòng)態(tài)給用戶;

(4)Widget 和 Live Wallpaper:

        可以創(chuàng)建一些交互式的可見(jiàn)組件,位于用戶主屏幕,Widget主要用于顯示動(dòng)態(tài)信息,例如:天氣、電池電量、時(shí)間日期等;


二.Android應(yīng)用程序的組成部分

    介紹一下組件:

    1.Activity--實(shí)現(xiàn)UI,使用View或Fragment來(lái)布局和顯示信息,以及響應(yīng)用戶動(dòng)作;

    2.Service--不可見(jiàn),可以更新數(shù)據(jù)源和Activity,可以觸發(fā)通和廣播Intent;

    3.ContentProvider--一個(gè)可共享的持久數(shù)據(jù)存儲(chǔ)器。他是應(yīng)用程序之間共享數(shù)據(jù)的首選,可以配置自身應(yīng)用的CP來(lái)提供給其他應(yīng)用使用,也可以使用其他應(yīng)用提供的CP,Android本地提供CP的有很多,例如:聯(lián)系人信息,媒體庫(kù)信息等;

    4.Intent--一個(gè)強(qiáng)大的應(yīng)用程序間的消息傳遞框架。也可啟動(dòng)/停止Activity、Service。也可以廣播消息;

    5.BroadcastReceiver--Intent監(jiān)聽(tīng)器??梢宰詣?dòng)的啟動(dòng)應(yīng)用程序來(lái)響應(yīng)某個(gè)收到的Intent,多用于事件驅(qū)動(dòng)的應(yīng)用程序;

    6.Widget--是BroadcastReceiver的特殊變體;

    7.Notification


三.Android 的Activity

  1. Activity+布局+視圖+Fragment = UI;

  2. Activity棧

(1)每個(gè)Activity的狀態(tài)由其在Activity棧中的位置決定;

(2)Android內(nèi)存管理器再?zèng)Q定終止哪個(gè)應(yīng)用程序來(lái)釋放資源時(shí),也是通過(guò)Activity棧來(lái)決定Activity的優(yōu)先級(jí)的,進(jìn)而決定終止哪個(gè)應(yīng)用程序;

(3)Activity棧是當(dāng)前所有正在運(yùn)行的Activity后進(jìn)先出的集合;

Android(1)--Application和Activity

    3.Activity狀態(tài)

(1)活動(dòng)狀態(tài)--位于棧頂、可見(jiàn)、具有焦點(diǎn)、可以接受用戶輸入;

        Android會(huì)不惜一切代價(jià)的來(lái)保持他的活動(dòng)狀態(tài),必要時(shí)銷毀下部的Activity以釋放資源供其使用;

        當(dāng)另外一個(gè)Activity活動(dòng)時(shí),他將處于暫停狀態(tài);

(2)暫停狀態(tài)--一般情況下可見(jiàn)、但是沒(méi)有焦點(diǎn)、不能接收用戶的輸入事件;

        在極端的情況下才會(huì)被系統(tǒng)收銷毀來(lái)釋放資源;

        當(dāng)他完全不可見(jiàn)時(shí),則處于停止?fàn)顟B(tài);

(3)停止?fàn)顟B(tài)--可不見(jiàn);

        仍處于內(nèi)存中,并保留狀態(tài)信息,但是當(dāng)系統(tǒng)需要釋放內(nèi)存時(shí),他們是首選對(duì)象;

        當(dāng)Activity處于暫停/停止?fàn)顟B(tài)時(shí),保存UI和數(shù)據(jù)信息非常重要;

(4)終止?fàn)顟B(tài)--退出或關(guān)閉的Activity、從棧中移除;

   

    4.Activity生存期與狀態(tài)的監(jiān)控

Android(1)--Application和Activity
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI