隨筆之Android不吐不快


今天又看到Android5.0的一些信息,實在忍不住了。說說我個人(一家之言)對它的看法。

    ICS從去年11月放出4.0,到12月還是12年1月又放出來4.0.3,短短3個月,放出兩個版本的SDK,實在是過於倉促。

細節沒怎么看,目前知道媒體引擎這塊,有准備將stagefrightplayer換成nuplayer,專門針對流媒體的(大體是這樣,嚴格的各位不用拍磚),但可惡的是該東西根本沒做完嘛!

    ICS后kernel基於3.0,很多廠商都來不及做適配。不知道5.0又想基於kernel哪個版本了。似乎幾個大廠也跟不上步驟,否則如何4.O還未出幾款手機呢?不過保不齊,那些大廠已經知道Goolge再開發5.0,所以就不急着去弄。步伐邁得太快了,Goolge自己也只是拿親兒子一款手機在那整,有本事也來支持下其他廠商的手機?

    以前沒機會去看Java層的framework,今次一看。代碼真的不咋樣。尤其是重要的ActivityManagerService,非常混亂。這可是調度的核心啊。反正看android源碼,一點美感都沒有。所以導致我有一個很深的疑惑一個如此流行的東西,是靠技術取勝 還是靠別的什么取勝?各位看官不妨回答一下。

    另外,ICS中,對平板和手機UI方面做了整合(實際從HoneyComb就開始了),加了所謂的fragment,又搞出來一堆回調函數!(谷哥哥,回調太多了,會把人搞暈的)。每個應用也便得巨復雜無比,大量使用設計模式,實際上對java程序員要求高了。應用不好改啊,各位!

     ICS似乎想拋棄gcc編譯器了,君不見在external下引入了LLVM(具體名字不太記得了,但蘋果就是用這個編譯器吧。《程序員》前幾期一直有個欄目在講蘋果的故事,大概是12年1月期就提到了這個巨牛叉無比的LLVM,牛叉到什么程度呢?假設new出來的東西,忘記delete的話,該編譯器會自動在某個地方插入delete。大概就是類似的說法。各位覺得不可能吧?不過大牛說了:既然編譯器在編譯的時候能提示說是否忘記delete,那為何編譯器不能自動把delete加上?)。用上LLVM,好處很多,編譯速度快幾倍,內存耗費少幾成。而且編譯錯誤的提示更人性化,不像GCC那樣,編譯錯誤提示乃天書。

    總結:google畢竟沒搞過桌面OS,所以對這塊積累不深。這是看代碼得到的一個直觀結論。升級太快,真的受不了,而且對資源要求越來越高。對各位程序員來說,要么做中間件(比如視音頻開發,多媒體播放,webkit等不局限於android架構的),要么做BSP。UI的話,如果你很喜歡做,那也還行。UI最容易和特定平台綁定,android UI架構並不好。數年之后,鹿死誰手還不知道呢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM