作者:劉菲菲
隨著iOS和Android智能手機(jī)、平板電腦的高速發(fā)展,移動(dòng)設(shè)備的運(yùn)行速率越來(lái)越快,對(duì)應(yīng)用軟件也有了更高的標(biāo)準(zhǔn)。不過(guò)對(duì)于Android系統(tǒng)來(lái)說(shuō), 開(kāi)發(fā)者們?cè)趧?chuàng)建高性能應(yīng)用的同時(shí),仍有一些問(wèn)題需要注意。比如應(yīng)用程序的資源消耗,再高性能的設(shè)備也會(huì)受到電池和處理器等多方面資源的限制。因此,給應(yīng)用 “瘦身”就成了Android開(kāi)發(fā)者們需要重視的環(huán)節(jié)。
以下是為Android開(kāi)發(fā)者準(zhǔn)備的十條“瘦身”建議:
1.保持良好的編碼習(xí)慣
一個(gè)優(yōu)秀的開(kāi)發(fā)者應(yīng)該善于運(yùn)用常識(shí)、完善的算法和標(biāo)準(zhǔn)設(shè)計(jì)模式。要有資源意識(shí),打開(kāi)了就要記得關(guān)閉,盡量做到晚獲取、早釋放。這些由來(lái)已久的編碼準(zhǔn)則同樣適用Android應(yīng)用開(kāi)發(fā),尤其是使用基礎(chǔ)設(shè)備服務(wù)時(shí)。
2.讓阻塞操作遠(yuǎn)離主UI線程
通過(guò)使用AsyncTask、線程、IntentService和自定義后臺(tái)服務(wù),保證應(yīng)用的靈活性。使用加載工具簡(jiǎn)化游標(biāo)等長(zhǎng)時(shí)間加載數(shù)據(jù)的狀態(tài)管理。當(dāng)有其他程序運(yùn)行時(shí),不能讓你的應(yīng)用滯后或中止。
如果一個(gè)操作需要消耗較多時(shí)間和資源時(shí),取消該操作,換成異步處理,這樣應(yīng)用就能保持響應(yīng),用戶可以繼續(xù)各種操作。該方法適用磁盤(pán)讀寫(xiě)、訪問(wèn)內(nèi)容提供方、數(shù)據(jù)庫(kù)和互聯(lián)網(wǎng),以及解析和其他需要花費(fèi)較長(zhǎng)時(shí)間的任務(wù)。
3.使用最新的Android SDK版本和API
使用Android平臺(tái)的最新產(chǎn)品,保證你的應(yīng)用緊跟Android的更新步伐。隨著Android平臺(tái)的不斷發(fā)展,部分功能可能被棄用或被更好的功能取 代,核心API接收了bug修復(fù)和性能改進(jìn),新API有助于開(kāi)發(fā)者編寫(xiě)出更穩(wěn)定的應(yīng)用。要明白最佳的做法總是隨著時(shí)間的推移而變,聰明的開(kāi)發(fā)者應(yīng)該總是站 在整個(gè)平臺(tái)的最前沿。
Android開(kāi)發(fā)者十條建議
4.考慮使用StrictMode
從Android 2.3開(kāi)始提供了一個(gè)新的類StrictMode,該類可以用于捕捉發(fā)生在應(yīng)用程序主線程中耗時(shí)的磁盤(pán)、網(wǎng)絡(luò)訪問(wèn)或函數(shù)調(diào)用,可以幫助開(kāi)發(fā)者改進(jìn)程序,使主線程處理UI和動(dòng)畫(huà)在磁盤(pán)讀寫(xiě)和網(wǎng)絡(luò)操作時(shí)變得更平滑,避免主線程被阻塞。
5.發(fā)布前禁用或盡量減少調(diào)試
如果開(kāi)發(fā)周期較長(zhǎng),你很可能在應(yīng)用中內(nèi)置了一些日志或調(diào)試代碼,在發(fā)布前確保這些功能已經(jīng)最小化或完全禁用。
6.確保UI布局簡(jiǎn)單優(yōu)雅
簡(jiǎn)單的屏幕不僅方便閱讀,還能加快加載速度。與其在一個(gè)單一屏幕上堆砌太多不必要的功能,不如花時(shí)間去開(kāi)發(fā)優(yōu)雅的用戶界面。簡(jiǎn)單優(yōu)雅的UI不僅能提高應(yīng)用性能,還能提高用戶使用該應(yīng)用時(shí)的效率。
7.根據(jù)目標(biāo)設(shè)備調(diào)整應(yīng)用資源
為盡可能高效地被加載,需要根據(jù)具體設(shè)備的配置調(diào)整相應(yīng)資源,尤其是圖片資源。為使應(yīng)用包文件合理適用不同設(shè)備,首先可只添加運(yùn)行該應(yīng)用需要的核心資源,然后再根據(jù)具體設(shè)備下載相關(guān)內(nèi)容。
Android開(kāi)發(fā)者十條建議
8.使用Hierachy Viewer可視化調(diào)試工具
Hierachy Viewer能很方便地在開(kāi)發(fā)者設(shè)計(jì),調(diào)試和調(diào)整界面時(shí),快速定位問(wèn)題,解決問(wèn)題,提高開(kāi)發(fā)效率。
9.使用layoutopt進(jìn)行布局優(yōu)化
Layoutopt是一款簡(jiǎn)單的命令行工具,可幫助找到不必要的控件嵌套以及縮減布局資源,從而使應(yīng)用變得可能“苗條”。控件越少、布局層次越淺,性能就越好。
10.使用Traceview及其他Android工具進(jìn)行分析
Android SDK隨帶了很多用于應(yīng)用分析的工具,其中最受歡迎的是Traceview,這款圖形工具可以幫助調(diào)試和找到應(yīng)用中的性能瓶頸。
總結(jié):
事實(shí)上,提升Android應(yīng)用性能的方法并不止以上十條,有些需要使用特定的算法,有些則依賴切實(shí)可行的調(diào)試和性能監(jiān)測(cè)技術(shù)。好在Android平臺(tái)為開(kāi)發(fā)者提供了眾多免費(fèi)實(shí)用的開(kāi)發(fā)工具,可以幫助跟蹤和解決應(yīng)用程序中遇到的性能問(wèn)題。
推薦閱讀
惡意扣費(fèi)軟件橫行 Android用戶需謹(jǐn)慎
作者:周璞 近日,一位女士發(fā)現(xiàn)自己的手機(jī)話費(fèi)突然從以前的每月50元左右增加到100元以上。經(jīng)過(guò)咨詢和檢查后她發(fā)現(xiàn),在她手機(jī)的百吉?dú)v應(yīng)用軟件中,暗藏著一個(gè)極其 隱蔽的小插件,即一種惡意代碼,它能把應(yīng)用軟件變成惡>>>詳細(xì)閱讀
本文標(biāo)題:給Android應(yīng)用開(kāi)發(fā)者的十條瘦身建議
地址:http://www.xglongwei.com/a/kandian/20120409/49096.html