編輯:高級開發
周邊輸出子系統雖然相對不重要但很說明問題,比如notification要決定LED燈一類的表現,開始的設計就過於具體的服務於G1/Sapphire,導致廠商有了其它設計的話,全都按自己的方式四處瞎寫代碼,完全破壞了原有的安排。但人家廠商也是有苦難言:你壓根就沒給人家一個合適地架構和接口。
輸入子系統也有類似的問題,雖然現象不同但它設計的也固若金湯鐵桶一般。你如果想從Java層以下,內核層以上自定義一些行為,又不能夠或者不想硬改代碼(改了android升級了你還得同步),除了掛鉤子,唯一一條出路就是對內核動手了。天殺的,我寧可Google設計的時候能多考慮些我痛罵過得方法論了..
網絡子系統的話,已經有的TCP/IP棧肯定是沒問題了,VPN之類的弄點開源代碼改吧改吧實現的也沒問題了,可是啟用WIFI分配地址神馬的時候,居然淪落到用腳本鉤下環境變量用作通知,讓人懷疑設計神馬的都是浮雲... 我寨威武!藍牙子系統也拿的是套開源方案,按內行(就不說是誰了嘿嘿)的話,恨不得自己上手重新實現一下。
圖形子系統正常使用不會碰到什麼麻煩,看了看相關部分的代碼,最主要的問題是來自接口過於簡陋,對各種情況估計不足,出現bug的時候廠商就只能見招拆招了。比如圖像緩沖和攝像頭傳回數據之間的大小不和,其結果可能是相當詭異而不是有個明確的接口甚至約定來處理這種情況(記住攝像子系統的接口也是被android設定和限制的)。
內存子系統,傳統部分我沒有太多的疑問,關鍵在於設備特定內存上【3】。這部分的設計簡潔、但卻缺乏更多的考慮。比如這些特定內存是被鼓勵分門別類的管理;這種設計導致這種設備特定內存在一些機器上不夠用,以至於可能無法發揮芯片最大能力。【4】
多媒體子系統整體還是比較清晰和簡單的,而且似乎也沒簡單到了不夠用的地步(我對什麼是好的多媒體子系統毫無經驗)。不過默認下掛的OpenCore多媒體框架,前面已經提到過了,深惡痛絕。不知道Google自己的那個框架現在成熟了沒有,什麼時候換上,還有....會不會更糟糕,T_T
Camera子系統第一個版本接口及定義就很差勁,說它將將夠用都是誇它了,第二版也沒好到哪兒去,跟內存子系統、圖形子系統和多媒體子系統真可
android應用程序最初是由Google開發的基於Linux平台的開源手機操作系統。它包括操作系統、用戶界面和應用程序,android 包括了一個核心庫,該核心庫提供
之前我們曾向您介紹過在android中實現service動態更新UI界面,在UI設計中需要利用很多圖庫相冊軟件,而Gallery 是國外一個免費開源的、功能非常強大、有
在前文中我們介紹了在Ubuntu下建立Eclipse的android開發環境,我們現在將介紹一下在android平台下如何開發多媒體軟件MediaPlayer。Medi
前文中我們講過了在android開發中如何實現帶圖片和checkbox的listvIEw,如何把listview添加到popupwindow窗口中呢?關於這個listv