android複習路之Broadcast,Intent,Context,Asset與res/raw,res/drawable大篇

BroadcastReceiver:

1.兩種註冊方式:在配置文件中國註冊屬於常駐廣播,就算是APP結束瞭如果有對應的廣播過來還是會被激活,第二種就是代碼中註冊,可以在onDestory()中清除掉。

2.廣播的分爲無序廣播和有序廣播,無序廣播完全異步,從邏輯上講可以被任何的廣播接收者接收到,優點是效率搞,缺點是接收者無法將處理的結果發送給下一個接收者,並且是無法終止廣播intent的傳播。有序廣播可以按照接收者的優先級進行廣播的傳遞,每個接受者都有終止廣播的權利,如果當前接收者終止了廣播,則後續的廣播接收者則無法收到廣播。有序廣播可以處理前一個廣播接收者存入的數據。

3.廣播接收者的生命週期非常短,接到廣播的時候創建,onReceive()之後銷燬。

4.廣播接收者中不要做一些耗時操作否則會彈出ANR錯誤對話框。

5.也別在廣播接收者中創建子線程做耗時工作,因爲廣播接收者被銷燬之後進程就成了空進程很容易被kill。

Context:

1.它描述的是一個應用程序環境的信息,即上下文。

2.該類是一個抽象類,android提供了具體的實現方法(Contextlml)

3.通過它我們可以獲得應用程序的資源和類,也包括應用級別的操作,比如啓動一個activity,發送廣播,接受intent。

intent:

1.intent中可以傳遞哪些數據?

可以傳遞java中的基本類型數據及其數據,以及string/charsequence類型和string/charsequence類型數據的數組。還可以Parcelable(包裹化的數據)和serializable(序列化)的數據以及數組和列表數據。

Asset與res/raw,res/drawable:

1.res/raw和assets的相同點,他們的都會被原封不動的打包到apk中,不會被二次編譯。

2.res/raw和assets的不同點,res/raw中的文件會被映射到R.java中去可以用資源ID。assets文件不會被映射,訪問的時候需要AssetsManger類。

3.res/raw是不能有目錄結構,assets是可以有目錄結構的。、

4.android系統處理assets時,assetsManger中不能處理單個超過1M的文件,raw中沒有限制。assets中文件是不會被加工的所以一般都放不需要加工的文件。

發佈了25 篇原創文章 · 獲贊 0 · 訪問量 4996
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章