給Android應用開發者的十個建議
隨著移動平臺的發展和其應用的不斷改善,質量成為決定成敗的關鍵。使用者要求他們選擇安裝的應用響應快、效能好,如果某個應用不能提供卓越的功能和穩定的使用者體驗,那這樣的應用註定會被很快解除安裝。
儘管現在Android智慧手機和平板電腦的執行速率越來越快,但開發者仍需牢記,應用的執行環境仍受到電池和處理器等諸多資源的限制。以下是如何為應用“瘦身”的十條建議,以便能在當前和以後的所有Android裝置都能執行出最佳效果。
1)首先要有良好的編碼習慣
一個優秀的開發者應該善於運用常識、完善的演算法和標準設計模式。要有資源意識,開啟了就要記得關閉,儘量做到晚獲取,早釋放。這些由來已久的編碼準則同樣適用Android應用開發,尤其是使用基礎裝置服務時。
2)讓阻塞操作遠離主UI執行緒
通過使用AsyncTask、執行緒、IntentService和自定義後臺服務,保證應用的靈活性。使用載入工具簡化遊標等長時間載入資料的狀態管理。當有其他程式執行時,不能讓你的應用滯後或中止。
如果一個操作需要消耗較多時間和資源時,取消該操作,換成非同步處理,這樣應用就能保持響應,使用者可以繼續各種操作。該方法適用磁碟讀寫、訪問內容提供方、資料庫和網際網路,以及解析和其他需要花費較長時間的任務。
3)使用最新的Android SDK版本和API
使用Android平臺的最新產品,保證你的應用緊跟Android的更新步伐。隨著Android平臺的不斷髮展,部分功能可能被棄用或被更好的功能取代,核心API接收了bug修復和效能改進,新API有助於開發者編寫出更穩定的應用。要明白最佳的做法總是隨著時間的推移而變,聰明的開發者應該總是站在整個平臺的最前沿。
4)考慮使用StrictMode
從Android 2.3開始提供了一個新的類StrictMode,該類可以用於捕捉髮生在應用程式主執行緒中耗時的磁碟、網路訪問或函式呼叫,可以幫助開發者改程式序,使主執行緒處理UI和動畫在磁碟讀寫和網路操作時變得更平滑,避免主執行緒被阻塞。
5)釋出前禁用或儘量減少除錯
如果開發週期較長,你很可能在應用中內建了一些日誌或除錯程式碼,在釋出前確保這些功能已經最小化或完全禁用。
6)確保UI佈局簡單優雅
簡單的螢幕不僅方便閱讀,還能加快載入速度。與其在一個單一螢幕上堆砌太多不必要的功能,不如花時間去開發優雅的使用者介面。簡單優雅的UI不僅能提高應用效能,還能提高使用者使用該應用時的效率。
7)根據目標裝置調整應用資源
為儘可能高效地被載入,需要根據具體裝置的配置調整相應資源,尤其是圖片資源。為使應用包檔案合理適用不同裝置,首先可只新增執行該應用需要的核心資源,然後再根據具體裝置下載相關內容。
8)使用Hierachy Viewer視覺化除錯工具
Hierachy Viewer能很方便地在開發者設計,除錯和調整介面時,快速定位問題,解決問題,提高開發效率。
9)使用layoutopt進行佈局優化
Layoutopt是一款簡單的命令列工具,可幫助找到不必要的控制元件巢狀以及縮減佈局資源,從而使應用變得可能“苗條”。控制元件越少、佈局層次越淺,效能就越好。
10)使用Traceview及其他Android工具進行分析
Android SDK隨帶了很多用於應用分析的工具,其中最受歡迎的是Traceview,這款圖形工具可以幫助除錯和找到應用中的效能瓶頸。
結語
提升Android應用效能的方法有很多,有些需要使用特定的演算法,有些依賴切實可行的除錯和效能監測技術。幸運的是,Android平臺隨帶了眾多免費的實用工具,可以幫助跟蹤和解決應用程式中的效能問題。
來源:http://www.leiphone.com/10-android-app-developing-tips.html
相關文章
- 給iOS開發者的Android開發建議iOSAndroid
- 給PHP開發者的建議PHP
- 給移動應用開發新手的6個建議
- 寫給開發者:記錄日誌的10個建議
- 給遊戲開發者們的 7 個製作建議遊戲開發
- 給獨立遊戲開發者掌握社交渠道的5個建議遊戲開發
- 給遊戲引擎開發者的 64 個建議(1):客戶端遊戲引擎客戶端
- 給機器學習面試者的十項建議機器學習面試
- React Native 入門(三) - 給 Android 開發者的學習建議React NativeAndroid
- 給Android程式設計師的六個建議Android程式設計師
- 給初學者的20個CSS實用建議CSS
- 從業遊戲 22 年給獨立開發者的建議遊戲
- 給開發維護大型專案開發者的建議
- 【譯文】構建大型 Redux 應用的五個建議Redux
- 分享應用開發者提升移動戰略的5項建議
- 將 Web 應用效能提高十倍的10條建議Web
- 成功推廣iOS應用的10個建議iOS
- Android 應用開發者必看的 9 個 TipsAndroid
- 給國內獨立遊戲開發者的一些建議遊戲開發
- Tyler York:論述Android應用內建廣告的設計建議Android
- 一個牛人給Java初學者的建議Java
- 寫給Git初學者的7個建議Git
- Web 應用效能提升 10 倍的 10 個建議Web
- 對Android開發者有益的40條優化建議Android優化
- 給PHP開發者第一份工作的9條建議PHP
- 給各位PHP程式設計師十點未來的建議PHP程式設計師
- 給好學進取的開發者的一些建議(自學故事)
- 一個PHP開發者總結的九條建議PHP
- 給2019前端的5個建議前端
- 如何寫好移動應用描述的16個建議
- 給 JavaScript 開發者的十款有用的工具JavaScript
- 對Android初學者的10個建議Android
- 寫給 Node.js 學徒的 7 個建議Node.js
- 給年輕程式設計師的7個建議程式設計師
- 給IT新人的15點建議
- 給 itpub 提建議
- 一個老電子工程師的建議--《給年輕工程師的十大忠告》工程師
- 地獄黑客給你的十大網路安全防範建議黑客