2009-08-24 60 views
5

在爲Android編程時是否存在缺陷或要記住的要點?我認爲列表將包括多線程,持久存儲等主題。Android應用程序的陷阱

+2

不要忘記將Positronic Brain模塊中的邪惡位設置爲0. – Powerlord 2009-08-24 13:14:48

+0

如果您想在後臺運行而不關閉,則必須在通知欄中放置通知。 – Christian 2010-10-16 10:55:10

回答

2

我不會稱他們爲陷阱本身,但始終記住要考慮到,這不是一臺插入牆上的計算機,可以只是以各種方式升級。你有一個大約每兩年的升級週期(這幾天標準移動合同的長度),硬件是(A)在那段時間內不是最快和(B)是靜態的。

事情需要考慮:

1)怎樣的東西您的應用程序不會影響電池的壽命?你是否在所有地方潑鮮明亮的圖像?在後臺運行很多線程?服務?

2)您的應用程序需要佔用多少空間?信息是否可以保存在服務器上,並僅在需要時才傳輸到設備以供臨時使用?

3)關於#2,您的應用程序是否可以容忍壞/不存在的網絡/移動連接?它在EDGE網絡上對3G表現如何?

我相信你可以想出更多,但這是我在寫我的應用程序時記住的內容。

12

這裏可以說很多事情。

來自Google I/O 2009的Android視頻涵蓋了在Android上編程時應牢記的大部分方面。實際上,http://android-developers.blogspot.com/文章是這些演示文稿擴展的來源,並且可以從一些最好的Google工程師那裏看到這些文章的說明(並且作爲獎勵您會得到一個Q &一節),這對於每個Android開發人員都是必需的, IMO。

一些可能被提及的事情:

  • 不要使用浮點數,當你可以實現類似的結果與整數,因爲Android不具備浮點值的原生支持。使用調試工具可以優化性能和可維護性,並避免像UI設計中ViewGroup冗餘這樣的常見缺陷,或者對較重的方法(View.inflate(),findViewById(),setImageResource() ))。

  • 捆綁你的後臺服務呼叫,否則你是不必要的,過於頻繁醒來的OS,而冒着其他服務揹負你的電話(這會導致嚴重降低電池壽命)

  • 身高SAX的解析器在DOM的解析器,你失去的時間,同時實現了,但是你贏得你的應用程序的性能(和你的設備的可用性)的時間

  • 保持你的UI操作上你的UI線程,因爲界面工具包不是線程安全的

  • 請記住,方向的變化會破壞並重新創建你的活動(我瞭解到,艱難和痛苦的方式 - 這就是我開始跟隨Android的開發者博客)

...等等。