欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android Framework Application Framework層簡單介紹

 更新時間:2016年11月29日 14:35:01   作者:DoctorQ  
這篇文章主要介紹了 Android Framework Application Framework層簡單介紹的相關(guān)資料,需要的朋友可以參考下

引言        

      Android的四層架構(gòu)相比大家都很清楚,老生常談的說一下分別為:Linux2.6內(nèi)核層,核心庫層,應(yīng)用框架層,應(yīng)用層。我今天重點(diǎn)介紹一下應(yīng)用框架層Framework,其實也是我自己的學(xué)習(xí)心得。

        Framework層為我們開發(fā)應(yīng)用程序提供了非常多的API,我們通過調(diào)用特殊的API構(gòu)造我們的APP,滿足我們業(yè)務(wù)上的需求。寫APP的人都知道,學(xué)習(xí)Android開發(fā)的第一步就是去學(xué)習(xí)各種各樣的API,什么Activity,Service,Notification等。這些都是framework提供給我們的,那么我就詳細(xì)的講講Framework到底在整個Android架構(gòu)中扮演著什么角色。 

Framework功能

          Framework其實可以簡單的理解為一些API的庫房,android開發(fā)人員將一些基本功能實現(xiàn),通過接口提供給上層調(diào)用,可以重復(fù)的調(diào)用

         我們可以稱Framework層才真正是Java語言實現(xiàn)的層,在這層里定義的API都是用Java語言編寫。但是又因為它包含了JNI的方法,JNI用C/C++編寫接口,根據(jù)函數(shù)表查詢調(diào)用核心庫層里的底層方法,最終訪問到Linux內(nèi)核。那么Framework層的作用就有2個。

1.用Java語言編寫一些規(guī)范化的模塊封裝成框架,供APP層開發(fā)者調(diào)用開發(fā)出具有特殊業(yè)務(wù)的手機(jī)應(yīng)用。

2.用Java Native Interface調(diào)用core lib層的本地方法,JNI的庫是在Dalvik虛擬機(jī)啟動時加載進(jìn)去的,Dalvik會直接去尋址這個JNI方法,然后去調(diào)用。

        2種方式的結(jié)合達(dá)到了Java方法和操作系統(tǒng)的相互通信。Android為什么要用Java編寫Framework層呢?直接用C或C++不是更好?有關(guān)專家給出了如下解釋:

      C/C++過于底層,開發(fā)者要花很多的經(jīng)歷對C/C++的語言研究清楚,例如C/C++的內(nèi)存機(jī)制,如果稍不注意,就會忘了開啟或者釋放。而Java的GC會自動處理這些,省去了很多的時間讓開發(fā)者專注于自己的業(yè)務(wù)。所以才會從C/C++的底層慢慢向上變成了JAVA的開發(fā)語言,該層通過JNI和核心運(yùn)行庫層進(jìn)行交互。

         其實這些也是Java能發(fā)展這么迅速的原因,面對對象語言的優(yōu)勢。不用太關(guān)注內(nèi)存,放心大膽的去做實現(xiàn),才有時間去創(chuàng)造新的事物。

Framework API

Activity Manager 

用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。 

Window Manager 

提供一些我們訪問手機(jī)屏幕的方法。屏幕的透明度、亮度、背景。 

Content Providers 

使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫), 或者共享它們自己的數(shù)據(jù)。 

View System 

可以用來構(gòu)建應(yīng)用程序, 它包括列表(Lists),網(wǎng)格(Grids),文本框(Text boxes),按鈕(Buttons), 甚至可嵌入的web瀏覽器。 

Notification Manager 

使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。 

Package Manager 

提供對系統(tǒng)的安裝包的訪問。包括安裝、卸載應(yīng)用,查詢permission相關(guān)信息,查詢Application相關(guān)信息等。 

Telephony Manager 

主要提供了一系列用于訪問與手機(jī)通訊相關(guān)的狀態(tài)和信息的方法,查詢電信網(wǎng)絡(luò)狀態(tài)信息,sim卡的信息等。

 Resource Manager 

提供非代碼資源的訪問,如本地字符串,圖形,和布局文件(Layout files )。 

Location Manager 

提供設(shè)備的地址位置的獲取方式。很顯然,GPS導(dǎo)航肯定能用到位置服務(wù)。 

XMPP 

可擴(kuò)展通訊和表示協(xié)議。前身為Jabber,提供即時通信服務(wù)。例如推送功能,Google Talk。 

。。。。

Framework層提供的服務(wù)還有很多,就不一一列出啦。 

總結(jié) 

        從Android的整體框架開始,我們只詳細(xì)介紹了一下Framework層,對其作用和功能,以及在4層框架中所扮演的角色做了簡單的闡述。然后列舉出來它提供給上層的一些重要的服務(wù)。對Application Framework有了一個簡單的印象性了解,以此為開始,以后再對每個服務(wù)詳細(xì)研究。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論