天天看點

《Android開發秘籍(第2版)》——第1.6節Android開發

本節書摘來自異步社群《android開發秘籍(第2版)》一書中的第1章,第1.6節android開發,作者 【美】ronan schwarz , phil dutson , james steele , nelson to,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

1.6 android開發

android開發秘籍(第2版)

本書着眼于android開發的最主要方面:編寫android代碼。然而,略談一談開發的其他方面,如設計和釋出,也是适宜的。

1.6.1 良好的應用設計

良好的設計無論怎樣強調都不過分。它可以讓應用顯得與衆不同,提高使用者的接受度,并讓使用者贊不絕口。市場上許多最為成功的應用都是開發者與圖形設計者通力合作的産物。應把應用開發時間的相當一部分投入到考慮它的最佳設計方案上來。

1.6.2 保持向前相容1

新的android版本通常在api層面上是逐漸增強且向前相容的。事實上,一個裝置,隻有當其通過android api的相容性測試後,才能被稱為android裝置。然而,如果一個應用對底層系統進行了改動,就無法確定相容性。為確定未來的android更新被安裝到裝置上時,應用程式能夠向前相容,google提出了以下規則。

不要使用内部的或不被支援的api。

不要未經詢問使用者就直接修改設定。未來的系統版本可能會出于安全考慮對設定操作加以限制。例如,應用曾經可以自行打開gps或資料漫遊開關,但如今已經不被允許了。

不要在布局上做得太過火。雖然不常見,但太複雜的布局(層數超過10或總數超過30)的确可能導緻程式崩潰。

不要對硬體做不恰當的假定。不是所有的android裝置都包含全套可能支援的硬體。應確定對所需硬體進行檢查,并在硬體不存在時處理相應的例外。

確定裝置方向變化不會幹擾應用程式運作,或者引發不可預測的行為。螢幕方向是可以鎖定的,這在第2章中會提到。

注意android并不保證向後相容,是以最好如第2章中将要提到的那樣,聲明應用所支援的最低sdk版本,這樣裝置可以載入适當的相容性設定。如何在舊程式上使用其他新特性這一問題,在本書中将會多次提及。

1.6.3 確定健壯性

與相容性同等重要,在應用程式設計和測試中還應考慮健壯性(robustness)。下面給出確定健壯性的幾條建議:

優先使用android庫而非java庫。android庫專為嵌入式裝置而設計,并且覆寫了應用程式的多種需求。在某些情況下,如使用第三方插件或應用程式架構時,可能要用到java庫。但在二者均可用的情況下,用android庫更佳。

注意記憶體配置設定。要對變量進行初始化。盡量對對象進行重用而不是再配置設定,這會提升應用程式運作速度并避免對垃圾收集(garbage collection)機制的過度使用。可以用dalvik調試監視伺服器(ddms)工具對記憶體配置設定進行跟蹤,這會在第16章中詳述。

使用logcat工具,并檢查由其産生的警告或錯誤。這同樣将在第16章中探讨。

調試要徹底,盡量涵蓋不同的環境和裝置。

1向前相容(forward compatibility),在應用程式自身層面,可以了解為使應用程式較新版本産生的輸出能被較早的版本所相容(可能需要通過忽略早期版本中未實作的功能來達到此目的);而在應用程式與它所基于的作業系統的關系層面,則可了解為應用程式可以在未來釋出的更新版系統上順利運作。它與向後相容(backward compatility)是一對截然相反的概念。後者在應用程式自身層面,意為應用程式的較新版本能夠接受較早版本産生的結果;在應用程式與系統關系層面,則意味應用程式可以運作在任何作業系統的早期版本之上。具體到本節上下文,這裡的向前相容意為android應用應能适應未來釋出的android系統更新。概念易混,特此辨析。——譯者注

繼續閱讀