當前位置:首頁 » 安卓系統 » android圖形庫

android圖形庫

發布時間: 2022-12-23 09:27:42

⑴ 如何利用Chromium For Android開發Android瀏覽器

應用層次概念圖
layers 每個盒子代表一個概念中的應用層。通常情況下應該有可能通過替換任意一層及其上層組建來生成一個新的瀏覽器。因此,沒有任何層應該與其更高層次有依賴關系。 WebKit的:Safari,Chromium和其他所有基於WebKit的瀏覽器都使用Webkit作為渲染引擎。WebKit Port是WebKit的一部分,處理與具體平台相關的操作,如資源載入和圖形。 Glue: 將WebKit類型轉換成Chromium類型 。這就是我們的「WebKit嵌入層」。這是瀏覽器Chromium和test_shell(允許我們測試WebKit)的基礎。 Renderer/Render Host: 這是Chromium的「多進程嵌入層。」由它代理傳遞跨進程的消息和命令。你可以想像,其他的多進程瀏覽器也可以使用這一層,它對其他的瀏覽器服務沒有依賴。 Tab contents: Chrome的特有層,來表示標簽顯示的內容。它與應用服務綁定, 例如密碼管理器和history系統。本層不應該假設它嵌入在Chromium瀏覽器窗口中(還有其他Chromium組件如」HTML對話框「使用本層)。 瀏覽器:展現瀏覽器窗口,它嵌入了多個TabContentses。 WebKit 我們使用 WebKit這個開源項目來展示網頁。此代碼主要是由Apple編寫的並存放在/third_party/WebKit目錄中。WebKit主要包括兩部分:「WebCore」負責核心布局功能,「javaScriptCore」用來執行JavaScript。我們只將JavaScriptCore用於測試目的,通常我們使用高性能的V8 JavaScript引擎取代它。我們實際不使用蘋果稱之為「WebKit」的軟體層(譯注:就是WebKit/Source/WebKit目錄下的內容,Webkit/Source目錄下同樣有WebCore和JavaScriptCore目錄),這個軟體層用在如Safari這樣的應用程序中,用來銜接WebCore和OS X。為了方便,我們通常將從Apple獲取的代碼稱作「WebKit」。(譯注,其實只使用了WebCore) The WebKit Port 在最底層,我們有我們的WebKit「Port」。這是我們實現的平台相關的代碼,它用來銜接平台和WebCore。這些文件位於WebKit目錄中,通常在Chromium目錄中或者以Chromium為後綴名。實際上Port的大部分代碼不是和操作系統相關的:你可以把它看成是WebCore的Chromium Port(譯注:用來銜接WebKit和Chromium的)。有些部分,如字體渲染,必須針對每個操作系統平台分別處理。 網路流量是由我們的多進程資源載入系統處理的,而不是由渲染進程直接調用操作系統完成。 圖形使用為Android開發的Skia圖形庫。這是一個跨平台的圖形庫,原生的處理除了文字以外的所有圖形、圖像。Skia位於/third_party/skia。圖形操作的主要入口點是 / WebKit/port/platform/graphics/GraphicsContextSkia中。這個對象表示一個網頁。它處理所有從瀏覽器進程出入的與導航有關的命令。它繼承自RenderWidget,負責提供繪畫和輸入的處理。RenderView通過全局的(對每個渲染進程來說是全局,即每個進程一個)RenderProcess對象與瀏覽器進程通信。 常見問題:RenderView和RenderWidget的有什麼差異?RenderWidget通過實現名為WebWidgetDelegateglue層的抽象介面WebWidgetDelegate映射到一個的WebCore::Widget這基本上是屏幕上的一個窗口,它繪制窗口並接收窗口中的輸入事件。RenderView從RenderWidget繼承,它表示一個標簽或彈出窗口的內容。它處理所有導航命令並完成窗口繪制和響應輸入事件。只有一種情況下如RenderWidget獨立於RenderView存在:網頁上select boxes。它是個有向下箭頭和很多選項的彈出列表。在選擇框必須使用原聲窗口渲染,以便他們能夠在顯示在其他東西之上,並在必要時彈出框架。這些窗口需要繪制並接收輸入,但是他們不是一個單獨的「網頁」(RenderView)。 渲染器中的線程 每個渲染器中運行著兩個線程:渲染線程和主線程。渲染線程是RenderView和其他所有的WebKit代碼運行的線程。當它和瀏覽器之間進行通信時,首先將消息送到主線程,然後主線程再將消息傳遞給瀏覽器進程。只有主線程收到瀏覽器的回復之後渲染才可以繼續進行,這樣可以使我們同步地將消息從渲染器傳遞給瀏覽器。例如,當頁面中的JavaScript請求cookie時,渲染線程將被阻塞,主線程將所有收到的消息放入隊列直到接收到瀏覽器的正確回復。在這期間收到的任何消息都將按照順序發送給渲染線程進行處理。 瀏覽器進程 rendering browser 瀏覽器進程的底層對象 所有和渲染進程之間的通信都通過瀏覽器進程中的I/O線程實現的。它同樣也處理所有的網路通信,這樣可以不阻塞用戶界面。
當主線程初始化RenderProcessHost完畢後(用戶界面運行時),它建立新的渲染進程並新建名為ChanelProxy的IPC對象通過命名管道與之通信。這個對象運行於Browser的I/O線程中,監聽連接到渲染進程的命名管道,並將所有消息轉發到UI線程的RenderProcess對象。ResourceMessageFilter會過濾掉能夠直接執行的I/O處理消息,比如說網路請求。過濾使用ResourceMessageFilter::OnMessageReceived方法。 Ui線程中的RenderProcessHost負責分發所有顯示相關的消息給RenderViewHost(同時它也會處理有限的幾種非顯示相關的消息)。消息的分發在RenderProcessHost::OnMessageReceived函數執行。 瀏覽器進程的高層對象 顯示相關的消息會進入RenderViewHost::OnMessageReceived。大部分消息在這里處理,其他的則被轉發到RenderWidgetHost。渲染進程中有兩個對象對應到RenderView和RenderWidget對象。在Microsoft Windows上,對於每個RenderWigetHost都有一個RenderWidgetHostHWND與之對應,這個類專門負責管理消息事件並繪制原生的HWND。其他系統上也有類似的負責原生輸入和繪圖的對象。 在renderView/Widget對象之上是WebContent對象,大部分的消息都是在這個對象中響應的。WebContents表示一個tab中的內容。它繼承自通用的TabContents對象(還有其他集中TabContents的子類,比如下載頁面或歷史頁面)。它是大部分導航和頂層瀏覽器UI更新的結合點(switching point)。 FAQ:為什麼要分離WebContents和RenderViewHost對象?
原因有二:這兩個對象提供不同層面的功能。

⑵ 關於android

Android一詞的本義指「機器人」,同時也是Google於2007年11月5日宣布的基於linux平台的開源手機操作系統的名稱,該平台由操作系統、中間件、用戶界面和應用軟體組成,號稱是首個為移動終端打造的真正開放和完整的移動軟體。目前最好的是Android2.0的摩托羅拉Droid
[編輯本段]簡介
Android是基於Linux內核的軟體平台和操作系統,早期由Google開發,後由開放手機聯盟Open Handset Alliance)開發。它採用了軟體堆層(software stack,又名以軟體疊層)的架構,主要分為三部分。低層以Linux內核工作為基礎,只提供基本功能;其他的應用軟體則由各公司自行開發,以Java作為編寫程序的一部分。另外,為了推廣此技術,Google和其它幾十個手機公司建立了開放手機聯盟。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞認為Google開發的是自己的手機電話產品,而不是一套軟體平台。到了2010年1月,Google開始發表自家品牌手機電話的Nexus One。目前最好的是Android2.1
對手機行業的影響
已經與HTC、NTT DoCoMo、KDDI、Motorola等世界移動領域34家公司於免費提供達成一致。今後對於移動通訊的影響勢必會進一步體現出來。但是如此廣泛公司的同盟是否能夠有效運作及以持久值得拭目以待。MOTO Droid
Android手機

2008年9月22日,美國運營商T-MobileUSA在紐約正式發布第一款Google手機——T-Mobile G1。該款手機為台灣宏達電代工製造,是世界上第一部使用Android操作系統的手機,支持WCDMA/HSPA網路,理論下載速率7.2Mbps,並支持Wi-Fi。
(右圖為搭載最新Google Android 2.0的Moto Droid)
[編輯本段]基本情況
Android 是Google開發的基於Linux平台的開源手機操作系統(在華注冊商標名為「安致」)。它摩托羅拉的首款Android手機CLIQ包括操作系統、用戶界面和應用程序 —— 行動電話工作所需的全部軟體,而且不存在任何以往阻礙移動產業創新的專有權障礙,號稱是首個為移動終端打造的真正開放和完整的移動軟體。Google與開放手機聯盟合作開發了 Android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達電和 T-Mobile 在內的 30 多家技術和無線應用的領軍企業組成。Google通過與運營商、設備製造商、開發商和其他有關各方結成深層次的合作夥伴關系,希望藉助建立標准化、開放式的行動電話軟體平台,在移動產業內形成一個開放式的生態系統。
它採用了軟體堆層(software stack,又名軟體疊層)的架構,主要分為三部分:底層以Linux核心為基礎,由c語言開發,只提供基本功能。中間層包括函數庫Library和虛擬機Virtual Machine,由C+開發。最上層是各種應用軟體,包括通話程序,簡訊程序等,應用軟體則由各公司自行開發,以java編寫。
為了推廣此技術,Google和其它幾十個手機公司建立了開放手機聯盟(Open Handset Alliance)。
Android操作系統的組件如下圖:
Android 作為谷歌企業戰略的重要組成部分,將進一步推進「隨時隨地為每個人提供信息」這一企業目標的實現。全球為數眾多的行動電話用戶正在使用各種基於 Android 的電話。谷歌的目標是讓(移動通訊)不依賴於設備甚至平台。出於這個目的,Android 將補充,而不會替代谷歌長期以來奉行的移動發展戰略:通過與全球各地的手機製造商和移動運營商結成合作夥伴,開發既有用又有吸引力的移動服務,並推廣這些產品。
[編輯本段]團隊成員
白色版HTC G1Android平台的研發隊伍陣容強大,包括摩托羅拉、Google、HTC(宏達電)、PHILIPS、T-Mobile、高通、魅族、三星、LG以及中國移動在內的34家企業,都將基於該平台開發手機的新型業務,應用之間的通用性和互聯性將在最大程度上得到保持。「開放手機聯盟」表示,Android平台可以促使移動設備的創新,讓用戶體驗到最優越的移動服務,同時,開發商也將得到一個新的開放級別,更方便的進行協同合作,從而保障新型移動設備的研發速度。
34家企業的加盟,也將大大降低新型手機設備的研發成本,完全整合的「全移動功能性產品」成為「開放手機聯盟」的最終目標。
這34家企業中並不包含把持Symbian的諾基亞,以及憑借著iPhone風光正在的蘋果公司,美國運營商AT&T和Verizon,當然微軟沒有加入,獨樹一幟的加拿大RIM和他們的Blackberry也被擋在門外。
手機開放聯盟大家庭成員名單:
一、手機製造商:
台灣宏達國際電子(HTC)(Palm等多款智能手機的代工廠)
摩托羅拉(美國最大的手機製造商)
韓國三星電子(僅次於諾基亞的全球第二大手機製造商)
韓國LG電子
中國移動(全球最大的移動運營商,截至09年9月底 有7.03億用戶)
日本KDDI(2900萬用戶)
日本NTT DoCoMo(5200萬用戶)
美國Sprint Nextel(美國第三大移動運營商,5400萬用戶)
義大利電信(Telecom Italia)(義大利主要的移動運營商,3400萬用戶)
西班牙Telefónica (在歐洲和拉美有1.5億用戶)
T-Mobile(德意志電信旗下公司,在美國和歐洲有1.1億用戶)
二、半導體公司:
Audience Corp(聲音處理器公司)
Broadcom Corp(無線半導體主要提供商)
英特爾(Intel)
Marvell Technology Group
Nvidia (圖形處理器公司)
SiRF(GPS技術提供商)
Synaptics(手機用戶界面技術)
德州儀器(Texas Instruments)
高通(Qualcomm )
惠普HP(Hewlett-Packard Development Company, L.P)
三、軟體公司:
Aplix
Ascender
eBay的Skype
Esmertec
Living Image
NMS Communications
Noser Engineering AG
Nuance Communications
PacketVideo
SkyPop
Sonix Network
TAT-The Astonishing Tribe
Wind River Systems
[編輯本段]特性
·應用程序框架 支持組件的重用與替換
·Dalvik虛擬機 專門為移動設備做了優化
·內部集成瀏覽器 該瀏覽器基於開源的WebKit 引擎
·優化的圖形庫 包括2D和3D圖形庫,3D圖形庫基於OpenGL ES 1.0 (硬體加速可選)
·#SQLite 用作結構化的數據存儲
·多媒體支持 包括常見的音頻、視頻和靜態印象文件格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
·GSM電話 (依賴於硬體)
·藍牙Bluetooth, EDGE, 3G, and WiFi (依賴於硬體)
·照相機,GPS,指南針,和加速度計 (依賴於硬體)
·豐富的開發環境 包括設備模擬器,調試工具,內存及性能分析圖表,和Eclipse集成開發環境插件
[編輯本段]架構
下圖顯示的是Android操作系統的主要組件。每一部分將會在下面具體描述。
Android架構
[編輯本段]應用程序
Android會同一個核心應用程序包一起發布,該應用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是用JAVA編寫的。
Android 應用程序框架開發者也完全可以訪問核心應用程序所使用的API框架。該應用程序架構用來簡化組件軟體的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。該應用程序重用機制使得組建可以被用戶替換。
以下所有的應用程序都由一系列的服務和系統組成,包括:
·一個可擴展的視圖(Views )可以用來建應用程序,包括列表(lists),網格(grids),文本框(text boxes),按鈕(buttons),甚至包括一個可嵌入的web瀏覽器
·內容管理器(Content Providers )使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據。
·一個資源管理器 (Resource Manager)提供非代碼資源的訪問,如本地字元串,圖形,和分層文件( layout files )。
·一個通知管理器 (Notification Manager)使得應用程序可以在狀態欄中顯示客戶通知信息。
·一個活動類管理器 (Activity Manager)用來管理應用程序生命周期並提供常用的導航回退功能。
有關更多的細節和怎樣從頭寫一個應用程序,請參考 寫一個 Android 應用程序 部分。
Android 程序庫Android 包括一個被 Android 系統中各種不同組件所使用的 C/C++ 庫集。該庫通過 Android 應用程序框架為開發者提供服務。以下是一些主要的核心庫:
系統 C 庫 - 一個從 BSD 繼承來的標准 C 系統函數庫( libc ),專門為基於 embedded linux 的設備定製。 媒體庫 - 基於 PacketVideo OpenCORE;該庫支持錄放,並且可以錄制許多流行的音頻視頻格式,還有靜態印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 對顯示子系統的管理,並且為多個應用程序提供2D和3D圖層的無縫融合。 LibWebCore - 一個最新的web瀏覽器引擎用來支持Android瀏覽器和一個可嵌入的web視圖。 SGL - 一個內置的2D圖形引擎 3D libraries - 基於OpenGL ES 1.0 APIs實現;該庫可以使用硬體3D加速(如果可用)或者使用高度優化的3D軟加速。 FreeType - 點陣圖(bitmap)和向量(vector)字體顯示。 SQLite - 一個對於所有應用程序可用,功能強勁的輕型關系型資料庫引擎。
Android 運行庫
Android 包括了一個核心庫,該核心庫提供了JAVA編程語言核心庫的大多數功能。
每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik是針對於同時高效地運行多個VMs來實現的。Dalvik虛擬機執行.dex的Dalvik可執行文件,該格式文件針對最小內存使用做了優化。該虛擬機是基於寄存器的,所有的類都經由JAVA匯編器編譯,然後通過SDK中的dx工具轉化成.dex格式由虛擬機執行。
Dalvik虛擬機依賴於linux的一些功能,比如線程機制和底層內存管理機制。
Linux 內核Android 的核心系統服務依賴於 Linux 2.6 內核,如安全性,內存管理,進程管理,網路協議棧和驅動模型。 Linux 內核也同時作為硬體和軟體堆棧之間的硬體抽象層。
[編輯本段]硬體產品
已發布(預裝)
GOOGLE(HTC代工) Nexus one
HTC Dream
HTC Magic
HTC Hero
HTC Tattoo
MOTO CLIQ(DEXT)
MOTO Droid(Milestone)
MOTO BackFlip
MOTO XT800
MOTO XT701
MOTO XT710
Sony Ericsson X10
Qigi i6
Acer A1
HKC Pearl
HKC Imobile v413
Samsung I7500
Samsung i5700
售後安裝
一些用戶已經能夠(某些黑客,以及有限的功能)安裝Android在其它操作系統的移動設備之上:
OpenMoko手機 (Neo FreeRunner 及 Neo 1973)Motorola A1200 MingHTC VogueHTC PolarisHTC KaiserHTC Touch Diamond: 並非所有功能都被許可 (包括 Wifi)HTC Touch Pro諾基亞 N810諾基亞 770Asus EeePC 701Asus EeePC 1000HTouch Book from Always InnovatingDell Axim x51vHTC Touch HD: 並非所有功能都被許可 (包括 Wifi和音頻語音通話)Samsung Omnia: 只有基本功能(沒有相機或WiFi,需要安裝在SD卡中)Sharp Zaurus
[編輯本段]未來發展
老牌智能手機軟體平台製造商Symbian發言人則表示:Google的android只不過是另一個linux,symbian對其它軟體與其形成的競爭並不感到擔心。除了北美之外,Symbian在其它地區智能手機市場都佔有大部分市場份額。
與iPhone相似,Android採用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網功能,用戶能夠在手機上查看電子郵件、搜索網址和觀看視頻節目等,比iPhone等其他手機更強調搜索功能,界面更強大,可以說是一種融入全部Web應用的單一平台。
但其最震撼人心之處在於Android手機系統的開放性和服務免費。Android是一個對第三方軟體完全開放的平台,開發者在為其開發程序時擁有更大的自由度,突破了iPhone等只能添加為數不多的固定軟體的枷鎖;同時與Windows Mobile、Symbian等廠商不同,Android操作系統免費向開發人員提供,這樣可節省近三成成本。
Android項目目前正在從手機運營商、手機廠商、開發者和消費者那裡獲得大力支持。谷歌移動平台主管安迪·魯賓(Andy Rubin)表示,與軟體開發合作夥伴的密切接觸正在進行中。從去年11月開始,谷歌開始向服務提供商、晶元廠商和手機銷售商提供Android平台,並組建「開放手機聯盟」,其成員超過30家。
[編輯本段]市場前景
Google手機於08年10月22日正式上市,與運營商捆綁的合約價為179美元(約合人民幣1200元),現有的T-Mobile用戶可以通過網路訂購。在10月22日發布當天,將有22個國家和地區可以買到谷歌手機。在11月,將增至27個國家和地區。
谷歌手機將只能在T-Mobile網路內使用,將會有SIM卡鎖定限制。T-Mobile USA提供了兩種流量和簡訊近曝光的moto sholes(也有人稱之為moto tao)將搭載最新的android2.0操作系統包月計劃。第一檔為25美元,包括不限制的網路流量,以及一定數量的簡訊;第二檔為35美元,包括不限制的網路流量和不限數量的簡訊。G1支持各種谷歌的服務,包括Gmail、Google Maps、YouTube、Google日歷和Google Talk,內置Chrome Lite瀏覽器。使用這款手機也需要Gmail賬號。
「我愛死我的G1了!」谷歌聯合創始人拉里·佩奇(Larry Page)憧憬:「對於我來說,谷歌手機最激動人心的一點就是它的未來。它的功能很強,正如幾年前的電腦一樣。你可以上網,安裝軟體。」
T-Mobile USA為德國電信旗下移動子公司,運營GSM/HSPA網路,擁有用戶近3000萬。此次發布的谷歌手機採用高通MSM7201A處理器,支持7.2Mbps下載速率,美國運營商3G網路設定的套餐速率一般可達1Mbps以上。MSM7201A為單晶元、雙核,整合硬體加速多媒體功能、支持3D圖形,300萬像素的攝像功能可以掃描條形碼,並且有GPS功能。
在美國四大移動運營商中,T-Mobile USA處於相對弱勢的地位,不過T-Mobile在歐洲有更為強勢的是CDMA EV-DO網路,而T-Mobile USA和蘋果iPhone的獨家運營商AT&T為GSM/HSPA網路,後者在2005年12月就推出了全球第一個HSDPA商用服務。
T-Mobile USA今年5月方才在紐約推出了3G服務,目前已經在奧斯汀、巴爾的摩、波士頓、達拉斯、休斯敦、拉斯維加斯、邁阿密、明尼阿波利斯、鳳凰城、波特蘭、聖安東尼奧和聖地亞哥等12個城市增加了3G覆蓋,公司計劃年底前將3G覆蓋的城市從目前的13個增加到27個,能夠為其超過2/3的用戶提供3G服務。

市場手機品牌

摩托羅拉
摩托羅拉沉寂了一年終於要爆發了!由於受到金融危機的影響,摩托羅拉在過去的一年裡顯得極為沉寂,似乎突然蒸發掉似的,財報上的體現也是在不斷虧損,甚至還一度有傳言說摩托羅拉打算放棄手機市場。
不過摩托羅拉並沒有這樣做,而是卧薪嘗膽研發Android智能手機,意欲通過Android挽回失去的市場份額。9月10日摩托羅拉CLIQ的發布已經為摩托羅拉掙足了掌聲,接下來應該是摩托羅拉翻身仗的關鍵了。
摩托羅拉的首款Android手機CLIQ
摩托羅拉曾說過,CLIQ只不過是一款中端手機,很明顯這款Sholes才是摩托羅拉的Android旗艦。他們先是和Verizon推出了一則名「DroidDoes(Android能做到)」的廣告,從多方面告訴用戶蘋果不能而Android能。
現在他又通過郵件來宣傳這款手機,信封的封套上寫著「發布之日即將來臨」,並在一個破洞之後露出了炙熱的眼睛。而在裡面的信封上則表明了這款手機的一些特色,比如速度快,可以在黑暗中拍照,支持谷歌語音搜索等。
據台灣媒體報道,一位分析師稱,作為蘋果iPhone在今年假日季節到來之時的競爭產品,美國最大的行動電話製造商摩托羅拉的智能手機Droid自11月6日通過Verizon Wireless推出以來,其銷售量已經達到80萬部。 摩托羅拉智能手機Droid,運行的是谷歌Android操作系統。紐約RBCCapitalMarkets公司分析師馬克·休(MarkSue)周日在一份研究報告中表示,該數字將使得摩托羅拉在第四季度按計劃實現銷售100萬部目標。
馬克·休稱,摩托羅拉的銷售業績一直受到VerizonWireless廣告促銷和商店促銷的推動。Verizon Wireless把Droid作為iPhone新版本的競爭產品向蘋果發起了挑戰。蘋果新版iPhone截止6月份的第一個周末銷售量就超過100萬部。
馬克·休稱:「在假日季節到來曾用名,VerizonWireless加強了Droid的營銷。摩托羅拉在產品方面得很出色,我們對超過100家商店的調查顯示,該產品需求很強勁。」這位分析師表示,摩托羅拉股價表現將好於競爭對手。
市場研究公司NPDGroup今年8月份稱,蘋果的iPhone和RIM的BlackBerryCurve手機第二季度在美國智能手機市場處於領先位置。高端手機能夠讓用戶發送電郵並且編輯文檔。
周一在紐約證券交易所,摩托羅拉股價下跌0.19美元,報收於8.01美元,跌幅2.3%。摩托羅拉股價今年以來已經上漲81%。總部位於美國紐約的Verizon通信公司(VerizonCommunications)周一股價下跌0.17美元,報收於31.46美元,該公司股價今年以來已經下跌7.2%。Verizon無線是Verizon通信公司同英國沃達豐公司的合資企業。
琦基
去年11月27日,琦基發布了全球首款Google Android/Windows Mobile雙操作系統的智能手機琦基i6,採用Google Android操作系統的叫做琦基i6 goal,採用Windows Mobile操作系統的叫做琦基i6 Win。
華碩
華碩公司CEO沈振來日前在CES展會上向媒體表示,公司正在考慮推出一款Eee品牌手機,並可能基於Google Android操作系統。
聯想
OMS和T-mobile G1搭載的Android(以最初上市版本為主)的不同之處就是可以使用戶自行關閉正在運行的程序而不是由系統控制:按住屏幕上方向下拖動即可看到任務管理器。 樂Phone是聯想最新推出的一款Android系統手機,將於2010年5月發布。

HKC Pearl
做為目前在市面上唯一正式銷售的Windows和Android系統雙系統手機,這款HKC Pearl 珍珠珠配備了QVGA屏幕,內存採用了128MB/256MB的標准配置,主處理器採用PXA 310處理器,624Mhz的主頻性能非常強勁,而且機器還配備了Wi-Fi,藍牙2.0無線傳輸設置。
華為
造型上,U8230在外觀上有別於其他Android手機的塑料風格,通體的銀灰色和正面功能鍵盤的發絲紋路都洋溢著商務機型的味道。而作為功能上的特色,U8230擁有一塊3.5英寸的大屏幕、高達1500毫安時的鋰電池和一枚320萬象素攝像頭採用Android平台1.5版本。預計將於下半年正式發售。
海爾
海爾H7採用的是Android OS 1.5系統,不過如果H7上市時Android OS已經升級到2.0版的話海爾應該會一步到位選擇Android OS 2.0。由於海爾在亞洲電信展上展示的H7隻是模型機,因此這款手機與HTC的Android機型相比究竟如何尚不得而知。不過海爾的規格說明書表明,H7將會配備2.8英寸觸摸顯示屏,內置WiFi、GPS和藍牙模塊,支持FM收音,配備200萬象素攝像頭,支持閃光燈功能。
華禹
xPhone是由上海禹華通信技術有限公司設計的,採用類iphone的觸控設計,配置了3寸WQVGA解析度的觸摸屏,內建300W像素的攝像頭,搭載Android平台,採用主頻 624Mhz的Marvell PXA-310處理器,擁有128MB SDRAM+256MB ROM的內存配置,支持最大16GB的存儲卡擴展,給出的參數中居然還加入了WiFi功能,該機尚未正式發布,我們就靜候佳音吧。
宏基Acer A1採用高通8250處理器,最新Android 1.6版本操作系統,512 MB內存,3.5英寸觸控屏,可支持GSM和WCDMA雙制式,內置GPS,500萬像素攝像頭,支持micro SD擴展。09年9月底開始在法國和德國接受預定,Acer A1售價為389.99歐元。國外品牌摩托羅拉摩托羅拉 Cliq是全球首款發售的Android操作系統智能手機,採用側滑蓋設計,支持GSM和WCDMA雙頻,3.1英寸屏幕,320×480像素屏幕解析度,內置500萬攝像頭,機身自帶256MB內存,支持micro SD擴展。該機最大特色是支持世界上主流社。而最,據悉將在十月上市。
魅族
即將推出的魅族M8 3G版本,使用微軟CE與Android雙系統。
分別推出TD.WCDMA.CDMA2000版本。
[編輯本段]Android在中國
android在中國的前景十分廣闊,首先是有成熟的消費者,在國內,android社區十分紅火,這些社區為android在中國的普及做了很好的推廣作用。國內廠商和運營商也紛紛加入了android陣營,包括OPPO,中國移動,中國聯通,華為通訊,聯想等大企業。

⑶ for android是什麼意思

for android
面向安卓;客戶端;安卓客戶端
雙語例句
1
Skia: Google's Skia graphics library developed for Android.
skia:谷歌的Skia為Android開發的圖形庫開發庫。

⑷ Android圖形系統系統篇之HWC

HWC (hwcomposer)是Android中進行窗口( Layer )合成和顯示的HAL層模塊,其實現是特定於設備的,而且通常由顯示設備製造商 (OEM)完成,為 SurfaceFlinger 服務提供硬體支持。

SurfaceFlinger 可以使用 OpenGL ES 合成 Layer ,這需要佔用並消耗GPU資源。大多數GPU都沒有針對圖層合成進行優化,當 SurfaceFlinger 通過GPU合成圖層時,應用程序無法使用GPU進行自己的渲染。而 HWC 通過硬體設備進行圖層合成,可以減輕GPU的合成壓力。

顯示設備的能力千差萬別,很難直接用API表示硬體設備支持合成的 Layer 數量, Layer 是否可以進行旋轉和混合模式操作,以及對圖層定位和硬體合成的限制等。因此HWC描述上述信息的流程是這樣的:

雖然每個顯示設備的能力不同,但是官方要求每個 HWC 硬體模塊都應該支持以下能力:

但是並非所有情況下 HWC 都比GPU更高效,例如:當屏幕上沒有任何變化時,尤其是疊加層有透明像素並且需要進行圖層透明像素混合時。在這種情況下, HWC 可以要求部分或者全部疊加層都進行GPU合成,然後 HWC 持有合成的結果Buffer,如果 SurfaceFlinger 要求合成相同的疊加圖層列表, HWC 可以直接顯示之前合成的結果Buffer,這有助於提高待機設備的電池壽命。

HWC 也提供了 VSync 事件,用於管理渲染和圖層合成時機,後續文章會進行介紹。

Android7.0提供了HWC和HWC2兩個版本,默認使用HWC,但是手機廠商也可以選擇HWC2,如下所示:

SurfaceFlinger 通過 HWComposer 使用 HWC 硬體能力, HWComposer 構造函數通過 loadHwcMole 方法載入HWC模塊,並封裝成 HWC2::Device 結構,如下所示:

上述通過 hw_get_mole 方法(hardware\libhardware\hardware.c)載入 hwcomposer 模塊,此模塊由硬體廠商提供實現,例如:hardware\libhardware\moles\hwcomposer\hwcomposer.cpp是 hwcomposer 模塊基於HWC1的default實現,對應的共享庫是 hwcomposer.default.so ;hardware\qcom\display\msm8994\libhwcomposer\hwc.cpp是高通MSM8994基於HWC1的實現,對應的共享庫是 hwcomposer.msm8994.so 。
如果是基於HWC2協議實現,則需要實現hwcomposer2.h中定義的 hwc2_device_t 介面,例如: class VendorComposer : public hwc2_device_t 。Android7.0的 hwcomposer 模塊默認都是基於HWC1協議實現的。
每個HAL層模塊實現都要定義一個 HAL_MODULE_INFO_SYM 數據結構,並且該結構的第一個欄位必須是 hw_mole_t ,下面是高通MSM8994 hwcomposer 模塊的定義:

frameworks\native\services\surfaceflinger\DisplayHardware\HWC2.h主要定義了以下三個結構體:

它們是對 HWC 硬體模塊的進一步封裝,方便進行調用。 HWC2::Device 持有一個 hwc2_device_t ,用於連接硬體設備,它包含了很多HWC2_PFN開頭的函數指針變數,這些函數指針定義在 hwcomposer2.h 。
在 HWC2::Device 的構造函數中,會通過 Device::loadFunctionPointers -> loadFunctionPointer(FunctionDescriptor desc, PFN& outPFN) -> hwc2_device_t::getFunction 的調用鏈從硬體設備中獲取具體的函數指針實現。關鍵模板函數如下所示:

這些函數指針主要分為三類:

通過上述函數指針可以與 hwc2_device_t 表示的硬體合成模塊進行交互。三類指針分別選取了一個示例:

可以通過類圖,直觀感受下引用關系。

HWC2::Device 構造函數除了完成獲取函數指針實現以外,還會通過 Device::registerCallbacks 向硬體設備注冊三個 Display 的回調:熱插拔,刷新和VSync信號,如下所示:

總結一下, HWC2::Device 構造函數向硬體設備注冊三個 Display 回調:熱插拔,刷新和VSync信號。當 HWC2::Device 收到這些回調時,會通過監聽器向外回調到對應的HWComposer函數: HWComposer::hotplug / HWComposer::invalidate / HWComposer::vsync 。HWComposer再通過這些信息驅動對應工作,後續文章進行介紹。

上文提到 HWC2::Device 中的函數指針是hardware\libhardware\include\hardware\hwcomposer2.h中定義的,除此之外,該頭文件還定義了一些重要的結構體,這里介紹兩個比較重要的:

DisplayType 表示顯示屏類型,上面注釋已經介紹,重點看下Layer合成類型:

那麼一個 Layer 的合成方式是怎麼確定的那?大致流程如下所示:

本篇文章只是簡單介紹了HWC模塊的相關類: HWComposer 、 HWC2::Device 、 HWC2::Display 和 HWC2::Layer ,以及它們的關系。此外,還著重介紹了Layer的合成方式和合成流程。後續文章會更加全面的介紹 SurfaceFlinger 是如何通過HWC模塊完成Layer合成和上屏的(虛擬屏幕是到離屏緩沖區)。

⑸ 系統運行庫Android主要包含哪些庫

* Bionic系統 C 庫:C語言標准庫,系統最底層的庫,C庫通過Linux系統來調用。
* 多媒體庫(MediaFramework):Android系統多媒體庫,基於 PacketVideo OpenCORE,該庫支持多種常見格式的音頻、視頻的回放和錄制,以及圖片,比如MPEG4、MP3、AAC、AMR、JPG、PNG等。
* SGL:2D圖形引擎庫。
* SSL:位於TCP/IP協議與各種應用層協議之間,為數據通信提供支持。
* OpenGL ES 1.0:3D效果的支持。
* SQLite:關系資料庫。
* Webkit:Web瀏覽器引擎。
* FreeType:點陣圖(bitmap)及矢量(vector)。

⑹ java安卓做游戲要用到哪個圖形庫

libgdx游戲框架,也可以使用最近挺火的游戲引擎開發 更省力,常用的有cocos2d-x,和unity3d。
更確切點說,游戲引擎是個專業游戲開發工具,裡麵包含了各種庫,加上本身方便的操作性和擴展性,組成了一整套開發游戲的解決方案。
android studio是安卓官方(谷歌)做的專門開發安卓平台應用的工具,理論上,導入相關庫可以實現任何功能,比如用OpenGL庫就可以做3D,只是很少有人這么干,太麻煩了,操作不便,做游戲更不用說,稍微復雜點的開發就累死。也就開發純功能性APP或者作為中間打包工具用。
而且現在游戲引擎都很強大,可以不依賴於android studio直接發布apk,而且還跨平台。

⑺ Android 圖形系統(3)---- DRM 顯示框架初步

DRM 是目前主流的圖形顯示框架,Linux 內核中已經有Framebuffer 驅動用於管理顯示設備的 Framebuffer, Framebuffer 框架也可以實現Linux 系統的顯示功能,但是缺點如下:

下面是Linux graphic system 的框架,基於Wayland的Windowing system,在DRI框架下,通過兩條路徑(DRM和KMS),分別實現Rendering和送顯兩個顯示步驟,注意觀察 DRM 框架在其中的作用

DRM 框架的基本流程框圖如下:

軟體角度框圖:

DRM框架涉及到的元素很多,大致如下:
KMS: CRTC,ENCODER,CONNECTOR,PLANE,FB,VBLANK,property
GEM: DUMB、PRIME、Fence

下面一一介紹
libdrm:
應用層的一個動態鏈接庫,對底層介面進行封裝,向上層提供通用的API介面,主要是對各種IOCTL介面進行封裝。

KMS:
Kernel mode setting 簡而言之做兩件事:更新畫面 + 設置顯示參數
更新畫面: 顯示buffer 的切換,多圖層之間的合成方式,每個圖層的顯示位置
設置顯示參數:包含 刷新率,解析度,電源狀態 休眠喚醒等等。

GEM:
Graphic Execution Manager,主要負責顯示buffer的分配和釋放,也是GPU唯一用到DRM的地方。

學習 drm 就是學習上面這些概念的用法和實現。

⑻ 如何添加android-support-v8-renderscript

1. 在你需要使用RenderScript的類中,導入RenderScript圖形庫包:android.support.v8.renderscript 。如果你你已經有了內置的RnederScript(例如你用的是Android 4.3版本),你需要把導入包從android.renderscript改為android.support.v8.renderscript。
import android.support.v8.renderscript.*;
2. 在你的project.properties里,確保你的目標代碼是android-18,並加入下列代碼:
renderscript.target=18
renderscript.support.mode=true
sdk.buildtools=18.1.0
這就可以了!通過RenderScript支持庫,你能夠繼續在app開發中使用原生的RenderScript包(有一些小小的例外情況,下面會提到),並且你還能在你自己的腳本中使用RenderScript工具鏈的最新特性。
For complete details on how to set up the RenderScript Support Library, see Accessing RenderScript Java APIs.

⑼ 有哪些常用或優秀的 Android 第三方類庫

在Android類庫中,各種包寫成android.*的方式,重要包的描述如下所示:
android.app :提供高層的程序模型、提供基本的運行環境
android.content 包含各種的對設備上的數據進行訪問和發布的類
android.database :通過內容提供者瀏覽和操作資料庫
android.graphics :底層的圖形庫,包含畫布,顏色過濾,點,矩形,可以將他們直接繪制到屏幕上.
android.location :定位和相關服務的類
android.media :提供一些類管理多種音頻、視頻的媒體介面
android.net :提供幫助網路訪問的類,超過通常的java.net.* 介面
android.os :提供了系統服務、消息傳輸、IPC機制
android.opengl :提供OpenGL的工具,3D加速
android.provider :提供類訪問Android的內容提供者
android.telephony :提供與撥打電話相關的API交互
android.view :提供基礎的用戶界面介面框架
android.util :涉及工具性的方法,例如時間日期的操作
android.webkit:默認瀏覽器操作介面
android.widget:包含各種UI元素(大部分是可見的)在應用程序的屏幕中使用

⑽ 什麼是android系統,android的發展以及android的平台架構和特性

Android平台採用了整合的策略思想,包括底層Linux操作系統、中間層的中間件和上層的Java應用程序。下面我把Android的特性及其架構體系結構總結一下。

一、Android的平台特性

Android平台有如下特性:

1. 應用程序框架支持組件的重用與替換。

這樣我們可以把系統中不喜歡的應用程序刪除,安裝我們喜歡的應用程序。

2. Dalvik虛擬機專門為移動設備進行了優化。

Android應用程序將由Java編寫、編譯的類文件通過DX工具轉換成一種後綴名為.dex的文件來執行。Dalvik虛擬機是基於寄存器的,相對於Java虛擬機速度要快很多。

3. 內部集成瀏覽器基於開源的WebKit引擎。

有了內置的瀏覽器,這將意味著WAP應用的時代即將結束,真正的移動互聯網時代已經來臨,手機就是一台「小電腦」,可以在網上隨意遨遊。

4. 優化的圖形庫包括2D和3D圖形庫,3D圖形庫基於OpenGL ES 1.0。

強大的圖形庫給游戲開發帶來福音。在3G最為重要的的應用莫過於手機上網和手機游戲。

5. SQLite用作結構化的數據存儲。

6. 多媒體支持包括常見的音頻、視頻和靜態印象文件格式

如MPEG4、H.264、MP3、AAC、AMR、JGP、PNG、GIF。

7. GSM電話(依賴於硬體)。

8. 藍牙(Bluetooth)、EDGE、3G、WiFi(依賴於硬體)。

9. 照相機、GPS、指南針和加速度計(依賴於硬體)。

10. 豐富的開發環境包括設備模擬器、調試工具、內存及性能分析圖表和Eclipse集成的開發環境插件。

Google提供了Android開發包SDK,其中包含了大量的類庫和開發工具,並且針對Eclipse的可視化開發插件ADT。

二、Android平台架構

從上圖我們可以看出,Android操作系統的體系結構可分為4層,由上到下依次是應用程序、應用程序框架、核心類庫和Linux內核,其中第三層還包括Android運行時的環境。下面分別來講解各個部分。

1. 程序應用

Android
連同一個核心應用程序包一起發布,該應用程序包包括E-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯系人管理程序等。所有的應用程序都是用Java編寫的。

2. 應用程序框架

開發者完全可以訪問核心應用程序所使用的API框架。該應用程序框架架構用來簡化組件軟體的重用,任何一個應用程序都可以發布它的功能塊並且任何其他的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。該應用程序重用機制使得組件可以被用戶替換。

以下所有的應用程序都由一系列的服務和系統組成,包括:

1)一個可擴展的視圖(Views)可以用來創建應用程序,包括列表(lists)、網路(grids)、文本框(text
boxes)、按鈕(buttons),甚至是一個可嵌入的Web瀏覽器。

2)內容管理器(Content Providers)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據。

3)一個資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字元串、圖形和分層文件(layout files)。

4)一個通知管理器(Notification Manager)使得應用程序可以在狀態欄中顯示客戶通知信息。

5)一個活動類管理器(Activity Manager)用來管理應用程序生命周期並提供常用的導航回退功能。

3. Android程序庫

Android包括一個被Android系統中各種不同組件所使用的C/C++集庫。該庫通過Android應用程序框架為開發者提供服務。

以下是一些主要的核心庫:

1)系統C庫:一個從BSD繼承來的標准C系統函數庫(libc),專門為基於Embedded Linux的設備定製。

2)媒體庫:基於PacketVideo
OpenCORE;該庫支持錄放,並且可以錄制許多流行的音頻視頻格式,還有靜態映像文件包括MPEG4、H.264、MP3、AAC、JPG、PNG。

3)Surface Manager:對顯示子系統的管理,並且為多個應用程序提供2D和3D圖層的無縫融合。

4)LibWebCore:一個最新的Web瀏覽器引擎,用來支持Android瀏覽器和一個可嵌入的Web視圖。

5)SGL:一個內置的2D圖形引擎。

6)3D libraries:基於OpenGL ES 1.0 APIs實現;該庫可以使用硬體3D加速(如果可用)或者使用高度優化的3D軟加速。

7)FreeType:點陣圖(bitmap)和向量(vector)字體顯示。

8)SQLite:一個對於所以應用程序可用、功能強勁的輕型關系型資料庫引擎。

4. Android運行庫

Android包括了一個核心庫,該核心庫提供了Java編程語言核心庫的大多數功能。

每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik是針對同時高效地運行多個VMs實現的。Dalvik虛擬機執行.dex的Dalvik可執行文件,該格式文件針對最小內存使用做了優化。該虛擬機是基於寄存器的,所有的類都是經由Java匯編器編譯,然後通過SDK中的DX工具轉化成.dex格式由虛擬機執行。

Dalvik虛擬機依賴於Linux的一些功能,比如線程機制和底層內存管理機制。

5. Linux內核

Android的核心系統服務依賴於Linux內核,如安全性、內存管理、進程管理、網路協議棧和驅動模型。Linux內核也同時作為硬體和軟體棧之間的硬體抽象層。

熱點內容
模擬人生java 發布:2025-04-05 05:53:58 瀏覽:549
日本免費雲伺服器色 發布:2025-04-05 04:58:52 瀏覽:864
linuxcpp 發布:2025-04-05 04:53:38 瀏覽:747
安卓字體哪個最好 發布:2025-04-05 04:46:37 瀏覽:649
什麼是hdb3碼編解碼 發布:2025-04-05 04:40:20 瀏覽:504
編譯原理運算符 發布:2025-04-05 04:37:50 瀏覽:520
如何用安卓手機玩ipad的賬號 發布:2025-04-05 04:17:42 瀏覽:935
vivo手機怎麼在桌面建文件夾 發布:2025-04-05 04:15:56 瀏覽:961
在線ftp網頁版軟體 發布:2025-04-05 04:15:02 瀏覽:624
android手機gps 發布:2025-04-05 04:14:59 瀏覽:446