您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
07 youtube下載器 apk電視版下載(智能電視上有哪些好用的軟件?)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-11 04:10:45【】1人已围观
简介發者GregKroah-Hartman將Android的驅動程序從Linux內核“狀態樹”上除去,從此,Android與Linux開發分道揚鑣。5月19日,Google正式對外發布Android2.2
編輯本段系統架構
Android是以Linux為核心的手機操作平臺,作為一款開放式操作系統,隨著Android的快速發展,如今已允許開發者使用多種編程語言來開發Android應用程序,而不再是以前只能使用Java開發Android應用程序的單一局面,因而受到眾多開發者的歡迎,成為真正意義上的開發式操作系統。 在Android中,開發者可以使用Java作為編程語言來開發應用程序,也可以通過NDK使用C/C++作為編程語言來開發應用程序,也可使用SL4A來使用其他各種腳本語言進行編程(如:python、lua、tcl、php等等),還有其他諸如:Qt(qt for android)、Mono(mono for android)等一些著名編程框架也開始支持Android編程,甚至通過MonoDroid,開發者還可以使用C#作為編程語言來開發應用程序。另外,谷歌還在2009年特別發布了針對初學者的Android Simple語言,該語言類似Basic語言。而在網頁編程語言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已經支持Android開發。 而在Android系統底層方面,Android使用C/C++作為開發語言。
應用程序(部分)
Java開發方面 Android支持使用Java作為編程語言來開發應用程序,而Android的Java開發方面從接口到功能,都有層出不窮的變化。考慮到Java虛擬機的效率和資源占用,谷歌重新設計了Android的Java,以便能提高效率和減少資源占用,因而與J2ME等不同。 Android結構
其中Activity等同于J2ME的MIDlet,一個 Activity 類(Class)負責創建視窗(Windows),一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。兩者之間通過由ServiceConnection和AIDL連結,達到復數程序同時運行的效果。如果運行中的 Activity 全部畫面被其他 Activity 取代時,該 Activity 便被停止(Stopped),甚至被系統清除(Kill)。 View等同于J2ME的Displayable,程序人員可以通過 View 類與“XML layout”檔將UI放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實Widget只是View的一種,所以可以使用xml來設計layout,HTC的Android Hero手機即含有大量的widget。至于ViewGroup 是各種layout 的基礎抽象類(abstract class),ViewGroup之內還可以有ViewGroup。View的構造函數不需要再Activity中調用,但是Displayable的是必須的,在Activity 中,要通過findViewById()來從XML 中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View 與事件(event)息息相關,兩者之間通過Listener 結合在一起,每一個View都可以注冊一個event listener,例如:當View要處理用戶觸碰(touch)的事件時,就要向Android框架注冊View.OnClickListener。另外還有Image等同于J2ME的BitMap。 C/C++開發方面 早期的Android開發只支持Java作為編程語言開發應用程序,因而使得其他語言開發者只能望而卻步。2010年4月,谷歌正式對開發者發布了Android NDK,NDK允許開發者使用C/C++作為編程語言來為Android開發應用程序,初版的NDK使得開發者看到了C/C++在Android開發中的希望。 但是,當前版本的NDK在功能上還有很多局限性:NDK并沒有提供對應用程序生命周期的維護;NDK也不提供對Android系統中大量系統事件的支持;對于作為應用程序交互接口的UI API,當前版本的NDK中也沒有提供。但是相對于初版的NDK,現在的NDK已經進行了許多重大的功能改進。 由此可見,NDK仍然需要完善和發展,相信未來隨著NDK的發展,NDK可以做得更多更好。
中介軟件
操作系統與應用程序的溝通橋梁,應用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari 瀏覽器背后的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自制的Bionic Libc。 Android采用OpenCORE作為基礎多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。 Android 使用skia 為核心圖形引擎,搭配OpenGL/ES。skia與Linux Cairo功能相當,但相較于Linux Cairo, skia 功能還只是雛形的。2005年Skia公司被Google收購,2007年初,Skia GL源碼被公開,目前Skia 也是Google Chrome 的圖形引擎。 Android的多媒體數據庫采用SQLite數據庫系統。數據庫又分為共用數據庫及私用數據庫。用戶可通過ContentResolver類(Column)取得共用數據庫。 Android的中間層多以Java 實現,并且采用特殊的Dalvik 虛擬機(Dalvik Virtual Machine)。Dalvik虛擬機是一種“暫存器型態”(Register Based)的Java虛擬機,變量皆存放于暫存器中,虛擬機的指令相對減少。 Dalvik虛擬機可以有多個實例(instance), 每個Android應用程序都用一個自屬的Dalvik虛擬機來運行,讓系統在運行程序時可達到優化。Dalvik 虛擬機并非運行Java字節碼(Byte買粉絲de),而是運行一種稱為.dex格式的文件。
硬件抽像層
Android 的 HAL(硬件抽像層)是能以封閉源碼形式提供硬件驅動模塊。HAL 的目的是為了把 Android framework 與 Linux kernel 隔開,讓 Android 不至過度依賴 Linux kernel,以達成 kernel independent 的概念,也讓 Android framework 的開發能在不考量驅動程序實現的前提下進行發展。 HAL stub 是一種代理人(proxy)的概念,stub 是以 *.so 檔的形式存在。Stub 向 HAL“提供”操作函數(operations),并由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 這些操作函數。HAL 里包含了許多的 stub(代理人)。Runtime 只要說明“類型”,即 mole ID,就可以取得操作函數。
內核
Android 是運行于 Linux kernel之上,但并不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以open買粉絲re 取代FFmpeg 等等。Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開。bionic/libc/kernel/ 并非標準的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。 目前Android 的 Linux kernel控制包括安全(Security),存儲器
很赞哦!(16)
相关文章
- 03 中國海外創新創業大賽 中國科協(雙英杯英語競賽含金量高嗎)
- 02 粉絲讓主播買婚房(男子沉迷斗魚直播“魚丸預言”互動輸掉140萬,該平臺是否涉嫌違法?)
- 03 中國最大貿易公司龍頭股票(外貿股票有哪些龍頭股博深?)
- 02 粘貼訂閱鏈接下載配置文件不存在(Visual Studio 2013 update4 都更新了什么)
- 03 中國服務貿易博覽會召開時間(會展業的發展變遷(1851至今))
- 03 中國糧食貿易公司排名前十(中國糧食四大糧商)
- 03 中國短劇卷到海外(系列短劇《理想照耀中國》中,哪個場景給你的印象比較深刻?)
- 02 繁花騰訊播放量多少(肖戰是被人捧紅的嗎,還是靠自己呢?)
- 02 粉絲給男朋友買衣服(我經濟也不好,用自己的錢給男朋友買的衣服被子之內的,他總是嫌棄我給他買的東西廉價便宜貨)
- 02 粵省事是買粉絲還是小程序(粵省事的志愿者和i志愿的區別)
热门文章
站长推荐
02 粉絲給明星買的衣服(如果我把明星的照片印在衣服上賣給粉絲 算不算侵犯肖像權啊)
03 中國社交媒體的發展歷程中,第一個論壇是(社交媒體的發展歷程)
02 粉絲過來店里買玩具很感動(有六個小朋友去玩具店里買玩具,他們分別帶了14元、17元、18元、21元、25元、37元錢,到了玩)
02 粉絲留言買肉(肉沫茄子要什么樣的茄子)
03 中國石油大學買粉絲關注(河北省定向選調生條件?)
03 中國疾控中心買粉絲買粉絲(如何查詢各個城市的隔離政策全國隔離政策查詢入口及方式)
02 紫金礦業海外并購案例(陳景河的突出貢獻)
02 粉絲給明星買奢侈品(很多品牌明明很出名了,為什么還要花大價錢去找代言?)