Android開發人員的10大抱怨

Android受到追捧,但也有人抱怨,正所謂「蘿蔔白菜,各有所愛」,本文就Android開發人員常掛在嘴邊的抱怨作了一下總結,若是你也是一名Android開發人員,說不定會有同感哦!

一、開源
Google將其手機平臺的代碼所有開源,但這並不意味着任何人均可如下載和編譯一個新版本的手機固件,但確實意味着任何手機制造商均可以推出本身的 Android設備,我也很是期待當即出現Android烤箱。但更糟糕的是Google知道如何保護有價值的代碼,它的Map,Gmail和Store 應用程序就不是開源的,當你在你的應用程序中使用這些應用時就會遇到法律問題,這只是抱怨的開始,由於如今不少人都打算購買Android驅動的設備,用 的人越多,暴露的問題將會愈來愈多。
Pediatrics程序員


二、苛刻的Activity
經過Activity(行爲),Android強制開發人員以更小的塊構建應用程序,例如,在他們的示例文本編輯器代碼中,他們有一個Activity 負責從一個可編輯文件列表中進行挑選,另外一個Activity負責真正編輯文件的內容,Android也鼓勵開發人員使用Intents在他們的 Activity之間通訊。
這種設計對手機軟件是件好事,但有一個 號外:徹底沒有人以這種方式工做。J2ME,iPhone,BREW和Blackberry都使用的是集中式應用程序對象概念 (Blackberry/J2ME Midlet或Brew的IApplet),相比之下,Android逼你設計小型的,自給自足的mimi應用程序,這一決定致使了一些很是有趣的行爲, 例如,默認狀況下,當用戶旋轉屏幕或推出鍵盤時,Android會結束當前的Activity而後又重建它。
最後,專業的移動開發人員只剩下兩個選擇:
第1、他們在其它平臺上使用Activity/Intent模型設計他們的軟件,以便輕鬆遷移到Android;
第2、實行黑客行爲,將Android的行爲改成其它平臺那樣。
架構


三、設備調試
兩年前,要在手機設備上進行調試是很是艱難的,那時我不得不本身動手編寫J2ME日誌系統,經過提示聲音和日誌進行跟蹤和監控。Google如今提供了 更好的工具來幫助咱們,簡單到只須要按一下F11就能夠了,不只簡單易用,並且仍是跨平臺的,在Mac,PC和Linux上都支持。
那爲何我要恨這個優秀的工具呢?我恨它是由於它讓我40%的調試技能幾乎無用武之地了,接下來你就知道,Google將讓任何人均可以設計出移動應用程序的UI,不用別的,僅XML而已。
iphone

 


四、應用程序永遠不會退出
一旦一個應用程序在Android上啓動後,它就永遠不會退出,應用程序能夠暫時退到後臺,但圖標永遠在正在運行的任務列表中,這個由核心架構引發的問題帶來了一些有趣的軟件bug,須要使用一些奇特的應用程序設計方法才能迴避這些問題。
編輯器

 


五、開發人員協同
在Android中,內存,處理器和電池都是公共資源,不幸的是,任何應用程序,即便是處於後臺的應用程序,均可以使用無限量地使用這些資源,這就是爲何Android手機的性能和電池壽命如此不穩定的緣由。
Google但願開發人員明智地使用前臺和後臺循環,但只要一個開發人員不當心,就可能會形成本可支持一週時間的電池在不到一個小時就消耗完了,開發人員之間的協同工做歷來未象如今這樣變得如此緊密。
工具

 
六、Java — 成也蕭何,敗也蕭何
不得不認可,Java語言確實很是強大,之因此將其列在這裏有兩個緣由:第一它太大了,其次它很難優化。做爲一個程序員,它讓我感受到好像在進行一場漫 長的手術同樣,儘管它能夠加速產品上市,能夠將咱們從內存泄露和堆棧損壞中解脫出來,但它幾乎不能編寫一個反鋸齒字體庫,在合理的時間內渲染出來,雖然開 發人員能夠在C下使用其NDK開發自定義的庫,不過真要這麼作,咱們就不得不一樣時調試兩種語言了,真麻煩。
性能


七、Intents(目的、意圖)
這是一個開發人員的第三大嚴重的語法噩夢,Android中的一個Intent是用於兩個Activities、服務或內容提供者之間通訊的 類,Intent是一個名詞,但也一般用做形容詞,但在任什麼時候候都不要看成複數使用(對於全部Intent和目的都不能計數),在過去兩年中,我在使用拷 貝編輯時很難交互,我每次使用Intent時,都感受好像是小學時的語法老師,每當我濫用一個逗號時,她都會耐心地糾正。
字體

 
八、平臺分化
這不只僅是一個流行詞語,它確實是一個真正存在的問題,極可能這個問題會致使整個Android平臺衰退,雖然Android的設計着眼於開發愛好者, 若是須要購買50部手機逐一驗證應用程序是否可以正常運行,那將是一件很是痛苦的事情,隨着愈來愈多的大屏幕設備投入市場,維護一個應用程序將是一個越來 越消耗體力的過程,這個過程估計不會有什麼改善,由於Google已經將平臺放得很寬鬆了。
更糟的是Google針對這個問題真的沒什麼解決辦法,隨着Android變得愈來愈受歡迎,每一個OEM製造商的設備都將有缺陷,錯誤和奇怪的問題出現,要想Android平臺支持一切是不可能的。
優化


九、虛擬機
虛擬機老是會出現各類問題,尤爲是大分辨率的虛擬機,常常莫名奇妙地崩掉,可謂惱火。在開發大分辨率的應用的時候,你會有一種想shi~的感受。
spa


十、硬件、硬件、硬件
Android硬件廠商從G1開始就走上了一條漫漫長路,但一直趕不上iPhone,OEM廠商也發現他們成了iPhone的追逐者,他們不能作出本身 的決策,不過摩托羅拉的Droid走出了正確的一步,Google本身的Nexus One再朝前邁進了一步。可是始終以爲仍是iphone好看。。
設計

相關文章
相關標籤/搜索