亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android Framework Application Framework層簡(jiǎn)單介紹

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

引言        

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

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

Framework功能

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

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

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

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

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

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

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

Framework API

Activity Manager 

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

Window Manager 

提供一些我們?cè)L問(wèn)手機(jī)屏幕的方法。屏幕的透明度、亮度、背景。 

Content Providers 

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

View System 

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

Notification Manager 

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

Package Manager 

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

Telephony Manager 

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

 Resource Manager 

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

Location Manager 

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

XMPP 

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

。。。。

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

總結(jié) 

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

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

相關(guān)文章

最新評(píng)論