天天看點

提升Android應用開發性能的十大要點

雖然android智能手機和平闆電腦的速度一天比一天快,但是開發者必須記住一點:他們開發的應用程式仍在一種資源緊張的環境下運作,這種環境主要依賴性能與最新的桌上型電腦或筆記本電腦無法比拟的電池和處理器。下面介紹的一些方法可以幫助你的應用程式“瘦身”或者說“android提升開發性能十大要點”,以便它們在今天和明天的android裝置上最順暢地運作。

提升Android應用開發性能的十大要點

先來說說確定應用程式響應迅即的幾個程式設計要點。

第一個要點:首先要有良好的程式設計習慣

要成為一名優秀的資源管理者;既要運用常識,還要使用公認的算法和标準的設計模式。在資源使用方面,如果你打開了資源,要記得關閉資源。要盡量晚地擷取,盡量早地釋放。這些由來已久的程式設計準則同樣适用于你的android應用程式,如果它們使用底層的裝置服務,更是如此。

比如說,假設你編寫的一個應用程式依賴基于位置的服務。除非你絕對有必要,否則不要開始注冊、擷取位置最新資訊;而且要確定,一旦你不再需要這些資訊,就要取消擷取最新資訊的注冊。這将幫助你避免不必要地耗費裝置電池電量或占用系統資源。

第二個要點:讓阻塞操作遠離主使用者界面線程

想確定你的應用程式運作起來很靈活,就要使用asynctask、線程、intentservice或自定義背景服務來處理髒活。應使用裝入器來簡化裝入時間長的資料(如遊标)的狀态管理。你無法容忍你的應用程式在某個操作正在處理的時候出現滞後或停頓。

如果某個操作很費時間和資源,就要解除安裝這部分操作、對它進行異步處理,那樣你的應用程式仍保持響應迅即,使用者可以處理他們的事務。這個原則适用于下列操作:磁盤讀寫,通路内容提供方、資料庫和網際網路,以及解析和其他長時間的任務。

第三個要點:使用最新的android軟體開發工具包(sdk)版本、應用程式設計接口(api)和最佳實踐

確定你開發的應用程式是最新的,因而要使用android平台提供的最新工具。随着android平台不斷發展,它也在不斷改進。一些功能可能已被棄用,或者換成了更好的功能。核心api得到了修正版(bug fix)和性能改進。已經引入了裝入器等新的api,幫助開發者編寫出運作更穩定、響應更迅即的應用程式。

你知道可以啟用android3.0應用程式中的硬體加速功能嗎?趕緊啟用吧!要明白最佳實踐會随着時間的變化而變化。明智的開發者密切關注android平台的新功能、哪些功能不再被推薦。

第四個要點:考慮使用限制模式(strict mode)

你可以使用名為限制模式(strictmode)的androidapi,幫助你查明哪裡違反了幾個良好的程式設計習慣。strictmode會幫助你确認你的應用程式是不是存在記憶體洩漏,并且檢測你的應用程式是不是在試圖執行長時間的阻塞操作,這些操作應該被解除安裝到線程或别的管道(參閱第二個要點)。

android2.3裡面引入strictmode類(android.os.strictmode)。

第五個要點:在釋出應用程式之前,禁用或盡量少用調試和診斷

如果你的android應用程式開發起來需要一些時間,你可能已将一些日志和調試代碼嵌入到了應用程式中。寫入到日志及其他此類輸出系統給性能帶來了影響。確定在釋出應用程式之前,盡量少用或完全禁用這些功能。

現在不妨說說如何運用良好的使用者界面設計原則,讓你應用程式的螢幕更快速地裝入:

第六個要點:確定你設計的布局簡單、簡練和淺層

簡單的螢幕有助于閱讀起來最輕松,而簡單的布局裝入起來最快速。你不應該過于深層地嵌套你的布局,或者用不必要的過多視圖(view)控件塞滿螢幕。花些時間來開發使用者可以高效使用的簡練使用者界面,而不是試圖把太多功能塞入到單單一個螢幕上。這不但有助于提升應用程式的性能,還有助于讓你的應用程式對使用者來說更高效。

fragments有助于在不影響靈活地針對不同類型的裝置進行設計的情況下,劃分使用者界面功能。

第七個要點:讓你應用程式的資源适合目标裝置

添加适合特定裝置配置的資源,那樣它們就能盡可能高效地裝入。我們在談論圖形資源時,這點尤為重要。如果你添加了可利用的龐大圖像資源,需要裝入和調整大小,就無法有效地使用其他的應用程式資源。

另一個要點就是,如果你準備你的應用程式可以在許多裝置上運作,為了讓應用程式軟體封包件保持合理的大小,應該最初隻添加運作應用程式所需要的核心資源,然後讓應用程式下載下傳适合該裝置的内容。

第八個要點:使用hierarchy viewer工具

hierarchy viewer工具可以幫助你調試你的應用程式布局。它還提供了寶貴的分析資訊,以便了解布局裡面的每一個視圖控件測量、渲染和繪制要花多少時間。隻有準确找到了問題的根源,問題解決起來才容易。

第九個要點:使用layoutopt工具

layoutopt工具是一款簡單的指令行工具,它可以幫助你找到不必要的控件嵌套以及縮減布局資源的其他方法,以便盡量減少資源的使用。它讓你可以了解哪些布局控件可能是多餘的或不必要的。控件越少、布局層次越淺,性能就越好。

最後,你認為你的應用程式做到了最好嗎?現在該對它測試一下了。

第十個要點:使用traceview及其他android工具進行分析

android sdk随帶了許多工具,可用來對你的應用程式進行分析。其中最流行的工具恐怕莫過于traceview,這款圖形化工具可以幫助你調試和找到應用程式中的性能瓶頸。不妨看看android說明文檔中介紹的一些調試工具。

結束語

有許多方法可以幫助你提升android應用程式的性能。有些需要使用特定的算法,有些依賴切實可行的調試和性能監測技巧。幸好,android平台随帶衆多免費的實用工具,可以幫助你查明和消除應用程式裡面的性能問題。既然有了這些工具,就要立馬使用!

繼續閱讀