四大天王原理思考小結

2021-07-04 11:56:11 字數 1285 閱讀 9060

activiity

0. ams(activity manager service)系統關鍵服務,可以建立應用程式程序,並負責啟動和排程應用程式元件。每個activity維護乙個名為mtoken的binder**物件,指向ams中的activityrecord(binder本地物件).ams將每個應用程式程序用processrecord物件來描述.簡而言之:ams維護了 activityrecord(包括其他元件) processrecord taskrecord這三個物件。(taskrecord 記錄了真實的activity例項是屬於哪個task的。task通過乙個int型別的taskid來唯一標識,該值標識啟動這個activity的呼叫者,在手機重啟時將會被置零。)

1. 可以將不同元件的android:process屬性設定為相同名稱,它們將執行在同乙個程序.

2. 顯式啟動看類名,隱式啟動看元件名即可.

3. 在activitythead內部,用乙個loadapk物件來描述乙個已經載入的apk檔案.

4. 若a activity 啟動了 b activity 則 ab 擁有相同的uid.

activity啟動過程:

servicebroadcast

broadcast機制就是在binder程序間通訊機制的基礎上實現的.

與binder不同:

1.client與service通訊,client需要獲取service的**物件. 而廣播傳送者不需要知道廣播接收者的存在.

2.只有activity 與service 擁有傳送廣播的技能.

與binder相同:

1.廣播的註冊中心就是ams.由ams 協調 boradcast傳送者與接收者.

1.每乙個content provider 都是通過uri來訪問的。

2.content provider 返回給activity的其實是乙個sqlitecursor物件(由provider建立 並不是binder本地物件 通過cursoradapter(乙個實現了ibander介面的介面卡)來返回) 該cursor物件引用了一塊匿名共享記憶體. (描述很簡陋- -~!)

3.當content provider 資料更新時,將告知content service. -> content observ。

4.資料的更新使用了觀察者模式. content provider元件傳送資料更新的訊息給 content service。 再由content service **訊息給content observer(內容觀察者).

香港四大天王影帝情況(截止2016)

張學友 香港金像獎,最佳男主角獎 提名6次獲獎0次,最佳男配角獎 提名4次獲獎1次。台灣金馬獎,最佳男主角獎 提名2次獲獎0次,最佳男配角獎 提名2次獲獎1次。劉德華 香港金像獎,最佳男主角獎 提名12次獲獎3次,最佳男配角獎 提名1次獲獎1次。台灣金馬獎,最佳男主角獎 提名4次獲獎2次,最佳男配角...

三層架構與四大天王之 刪

上篇我們介紹了,資料庫四大功能之一 增,這次我們就說說如何利用三層設計來對資料實現刪除記錄的功能。要想刪除資料庫中的記錄,首先我們應該將表中的資料顯示出來,所以此功能的實現方法如下 其 重新整理按鈕,重新整理users表的資訊 private void button1 click object se...

三層架構與四大天王之 查

上次我們說到了。怎樣利用三層架構去資料庫中刪除資料。這次我們就來談談如何去資料庫中查詢資料。事實上在上篇文章中也涉及到了查詢,但那是將整個表中的記錄都顯示出來,而我們這次來查詢我們所須要的某一條記錄。首先是介面,還記得我們第一次加入的 王菲 的那條記錄嗎。今天我們就將它查出來 private voi...