自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開發(fā)者必知:提升Android應(yīng)用開發(fā)性能的十大要點

譯文
移動開發(fā) Android
隨著任何一個移動平臺不斷發(fā)展、圍繞它的應(yīng)用程序不斷改進,要想開發(fā)成功,質(zhì)量變得至關(guān)重要。如今,用戶們要求他們決定安裝到自己設(shè)備上的Android應(yīng)用程序反應(yīng)迅即、性能合理。如果那些應(yīng)用程序未能提供令人興奮的功能和穩(wěn)定的用戶體驗,那么很快就會被卸載掉。本文我們將介紹Android提升開發(fā)性能十大要點。

雖然Android智能手機和平板電腦的速度一天比一天快,但是開發(fā)者必須記住一點:他們開發(fā)的應(yīng)用程序仍在一種資源緊張的環(huán)境下運行,這種環(huán)境主要依賴性能與***的臺式機或筆記本電腦無法比擬的電池和處理器。下面介紹的一些方法可以幫助你的應(yīng)用程序“瘦身”或者說“Android提升開發(fā)性能十大要點”,以便它們在今天和明天的Android設(shè)備上最順暢地運行。

Android開發(fā)要點

先來說說確保應(yīng)用程序響應(yīng)迅即的幾個編程要點。

***個要點:首先要有良好的編程習(xí)慣

要成為一名優(yōu)秀的資源管理員;既要運用常識,還要使用公認的算法和標(biāo)準(zhǔn)的設(shè)計模式。在資源使用方面,如果你打開了資源,要記得關(guān)閉資源。要盡量晚地獲取,盡量早地釋放。這些由來已久的編程準(zhǔn)則同樣適用于你的Android應(yīng)用程序,如果它們使用底層的設(shè)備服務(wù),更是如此。

比如說,假設(shè)你編寫的一個應(yīng)用程序依賴基于位置的服務(wù)。除非你絕對有必要,否則不要開始注冊、獲取位置***信息;而且要確保,一旦你不再需要這些信息,就要取消獲取***信息的注冊。這將幫助你避免不必要地耗費設(shè)備電池電量或占用系統(tǒng)資源。

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

想確保你的應(yīng)用程序運行起來很靈活,就要使用AsyncTask、線程、IntentService或自定義后臺服務(wù)來處理臟活。應(yīng)使用裝入器來簡化裝入時間長的數(shù)據(jù)(如游標(biāo))的狀態(tài)管理。你無法容忍你的應(yīng)用程序在某個操作正在處理的時候出現(xiàn)滯后或停頓。

如果某個操作很費時間和資源,就要卸載這部分操作、對它進行異步處理,那樣你的應(yīng)用程序仍保持響應(yīng)迅即,用戶可以處理他們的事務(wù)。這個原則適用于下列操作:磁盤讀寫,訪問內(nèi)容提供方、數(shù)據(jù)庫和互聯(lián)網(wǎng),以及解析和其他長時間的任務(wù)。

第三個要點:使用***的Android軟件開發(fā)工具包(SDK)版本、應(yīng)用編程接口(API)和***實踐

確保你開發(fā)的應(yīng)用程序是***的,因而要使用Android平臺提供的***工具。隨著Android平臺不斷發(fā)展,它也在不斷改進。一些功能可能已被棄用,或者換成了更好的功能。核心API得到了修正版(bug fix)和性能改進。已經(jīng)引入了裝入器等新的API,幫助開發(fā)者編寫出運行更穩(wěn)定、響應(yīng)更迅即的應(yīng)用程序。

你知道可以啟用Android3.0應(yīng)用程序中的硬件加速功能嗎?趕緊啟用吧!要明白***實踐會隨著時間的變化而變化。明智的開發(fā)者密切關(guān)注Android平臺的新功能、哪些功能不再被推薦。

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

你可以使用名為限制模式(StrictMode)的AndroidAPI,幫助你查明哪里違反了幾個良好的編程習(xí)慣。StrictMode會幫助你確認你的應(yīng)用程序是不是存在內(nèi)存泄漏,并且檢測你的應(yīng)用程序是不是在試圖執(zhí)行長時間的阻塞操作,這些操作應(yīng)該被卸載到線程或別的渠道(參閱第二個要點)。

Android2.3里面引入StrictMode類(android.os.StrictMode)。

第五個要點:在發(fā)布應(yīng)用程序之前,禁用或盡量少用調(diào)試和診斷

如果你的Android應(yīng)用程序開發(fā)起來需要一些時間,你可能已將一些日志和調(diào)試代碼嵌入到了應(yīng)用程序中。寫入到日志及其他此類輸出系統(tǒng)給性能帶來了影響。確保在發(fā)布應(yīng)用程序之前,盡量少用或完全禁用這些功能。#p#

現(xiàn)在不妨說說如何運用良好的用戶界面設(shè)計原則,讓你應(yīng)用程序的屏幕更快速地裝入:

第六個要點:確保你設(shè)計的布局簡單、簡練和淺層

簡單的屏幕有助于閱讀起來最輕松,而簡單的布局裝入起來最快速。你不應(yīng)該過于深層地嵌套你的布局,或者用不必要的過多視圖(View)控件塞滿屏幕?;ㄐr間來開發(fā)用戶可以高效使用的簡練用戶界面,而不是試圖把太多功能塞入到單單一個屏幕上。這不但有助于提升應(yīng)用程序的性能,還有助于讓你的應(yīng)用程序?qū)τ脩魜碚f更高效。

Fragments有助于在不影響靈活地針對不同類型的設(shè)備進行設(shè)計的情況下,劃分用戶界面功能。

第七個要點:讓你應(yīng)用程序的資源適合目標(biāo)設(shè)備

添加適合特定設(shè)備配置的資源,那樣它們就能盡可能高效地裝入。我們在談?wù)搱D形資源時,這點尤為重要。如果你添加了可利用的龐大圖像資源,需要裝入和調(diào)整大小,就無法有效地使用其他的應(yīng)用程序資源。

另一個要點就是,如果你準(zhǔn)備你的應(yīng)用程序可以在許多設(shè)備上運行,為了讓應(yīng)用程序軟件包文件保持合理的大小,應(yīng)該最初只添加運行應(yīng)用程序所需要的核心資源,然后讓應(yīng)用程序下載適合該設(shè)備的內(nèi)容。

第八個要點:使用Hierarchy Viewer工具

Hierarchy Viewer工具可以幫助你調(diào)試你的應(yīng)用程序布局。它還提供了寶貴的分析信息,以便了解布局里面的每一個視圖控件測量、渲染和繪制要花多少時間。只有準(zhǔn)確找到了問題的根源,問題解決起來才容易。

第九個要點:使用layoutopt工具

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

***,你認為你的應(yīng)用程序做到了***嗎?現(xiàn)在該對它測試一下了。

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

Android SDK隨帶了許多工具,可用來對你的應(yīng)用程序進行分析。其中***的工具恐怕莫過于Traceview,這款圖形化工具可以幫助你調(diào)試和找到應(yīng)用程序中的性能瓶頸。不妨看看Android說明文檔中介紹的一些調(diào)試工具。

結(jié)束語

有許多方法可以幫助你提升Android應(yīng)用程序的性能。有些需要使用特定的算法,有些依賴切實可行的調(diào)試和性能監(jiān)測技巧。幸好,Android平臺隨帶眾多免費的實用工具,可以幫助你查明和消除應(yīng)用程序里面的性能問題。既然有了這些工具,就要立馬使用!

責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2013-02-20 13:37:54

Android開發(fā)性能

2012-01-06 13:48:59

flash

2013-07-18 17:22:07

Android開發(fā)資源Android開發(fā)學(xué)習(xí)Android開發(fā)

2013-05-06 15:41:30

Android開發(fā)資源

2017-11-06 14:33:54

Web開發(fā)服務(wù)器網(wǎng)絡(luò)

2025-02-10 08:18:27

JSON數(shù)據(jù)交換格式

2023-09-11 16:54:17

谷歌開發(fā)

2009-01-20 10:27:00

2013-06-24 08:48:55

Unity3D

2023-11-08 18:01:53

硬重置Git命令

2015-01-29 09:11:37

OpenStack云應(yīng)用云部署

2011-05-03 09:41:42

Android開發(fā)工具Android SDK

2010-04-06 08:38:36

PHP

2023-03-10 09:00:49

Swift開發(fā)者工具

2011-07-08 14:14:13

Web服務(wù)器

2014-04-16 10:10:58

應(yīng)用測試

2016-10-19 13:47:41

大數(shù)據(jù)存儲Hadoop

2012-01-03 19:09:42

移動應(yīng)用

2010-05-24 10:46:00

Web開發(fā)者

2010-11-30 08:44:38

點贊
收藏

51CTO技術(shù)棧公眾號