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

提升Android應(yīng)用開(kāi)發(fā)性能的十大要點(diǎn)

移動(dòng)開(kāi)發(fā) Android
以下是提升你開(kāi)發(fā)的Android應(yīng)用的性能的十個(gè)要點(diǎn):良好的編程習(xí)慣、讓阻塞操作遠(yuǎn)離主用戶界面線程、使用最新的Android SDK、使用限制模式、少用調(diào)試和診斷、布局簡(jiǎn)練、資源適合目標(biāo)設(shè)備、使用工具幫助分析。

***個(gè)要點(diǎn):首先要有良好的編程習(xí)慣

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

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

第二個(gè)要點(diǎn):讓阻塞操作遠(yuǎn)離主用戶界面線程

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

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

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

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

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

第四個(gè)要點(diǎn):考慮使用限制模式(Strict Mode)

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

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

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

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

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

第六個(gè)要點(diǎn):確保你設(shè)計(jì)的布局簡(jiǎn)單、簡(jiǎn)練和淺層

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

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

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

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

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

第八個(gè)要點(diǎn):使用Hierarchy Viewer工具

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

第九個(gè)要點(diǎn):使用layoutopt工具

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

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

第十個(gè)要點(diǎn):使用Traceview及其他Android工具進(jìn)行分析

Android SDK隨帶了許多工具,可用來(lái)對(duì)你的應(yīng)用程序進(jìn)行分析。其中***的工具恐怕莫過(guò)于Traceview,這款圖形化工具可以幫助你調(diào)試和找到應(yīng)用程序中的性能瓶頸。

結(jié)束語(yǔ)

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

責(zé)任編輯:徐川 來(lái)源: OSChina
相關(guān)推薦

2011-12-01 09:00:12

Android提升開(kāi)發(fā)性能要點(diǎn)

2012-01-06 13:48:59

flash

2017-11-06 14:33:54

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

2009-01-20 10:27:00

2015-01-29 09:11:37

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

2023-09-11 16:54:17

谷歌開(kāi)發(fā)

2013-06-24 08:48:55

Unity3D

2016-10-19 13:47:41

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

2009-02-17 09:50:25

2011-09-16 14:03:18

2015-05-18 08:47:54

2015-11-10 09:50:22

2016-10-24 10:07:40

私有云云計(jì)算

2009-11-20 09:15:14

谷歌Chrome OS十大要點(diǎn)

2023-10-16 20:46:57

ChatGPT

2012-01-03 19:09:42

移動(dòng)應(yīng)用

2009-09-27 14:04:00

Web應(yīng)用開(kāi)發(fā)性能

2016-12-12 15:19:44

云計(jì)算公有云應(yīng)用上云

2010-07-12 17:28:17

SharePointVS 2010

2012-04-05 10:00:15

點(diǎn)贊
收藏

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