提升Windows Phone APP性能的13種方式
Matt Lacey從事軟件開發(fā)行業(yè)已有12年之久,他專注于移動(dòng)和Web開發(fā)。近期,他積累了大量基于Windows Phone 7的開發(fā)經(jīng)驗(yàn)。下面的這篇文章是他在開發(fā)中積累的一些提升App的性能的經(jīng)驗(yàn)。這會(huì)是一篇使開發(fā)人員深受其益的好文章,下面我們就進(jìn)入正題。
很多方法可以幫助你提升App的性能,本篇文章不提供完整版本,筆者只提供幾種常用的方法。
筆者希望你從本篇文章中得到的最重要的信息是:優(yōu)異的性能并不是憑空而得來的,這需要你盡自己所能讓用戶取得***的體驗(yàn)。
值得注意的是,一些MVVM純化論者可能會(huì)對(duì)以下的一些內(nèi)容提出異議,但是這些規(guī)則或方法是由現(xiàn)實(shí)世界中的一些體驗(yàn)所得來的,必然有其合理性。
1.避免使用UI線程–除非是必要情況,否則盡量不要使用UI線程,而是保持UI的響應(yīng)。
2.盡量不要使用值轉(zhuǎn)換器–值轉(zhuǎn)換器帶來的性能影響遠(yuǎn)遠(yuǎn)大于使用直接屬性值帶來的影響。
3.在不必要的情況下,不要使用依賴屬性–如果常規(guī)屬性能夠滿足需要,那就盡量使用常規(guī)屬性,提升系統(tǒng)的運(yùn)行速度。
4.減少外部依賴–盡量避免使用第三方組件,有利于提升系統(tǒng)的運(yùn)行速度。
5.拆分程序集–在不必要的情況下,不要在你的App中加載所有的頁面。
6.把圖片(數(shù)據(jù))放到緩存中–下載外部資源消耗時(shí)間,會(huì)影響系統(tǒng)的性能。
7.使用“Boot Loader”–如果你的App很大并且啟動(dòng)時(shí)需要進(jìn)行大量處理,那么請(qǐng)盡量將這些啟動(dòng)步驟分開,這樣將大大提高啟動(dòng)時(shí)的性能。
8.對(duì)數(shù)據(jù)進(jìn)行預(yù)載–在情況允許的條件下,在用戶獲取數(shù)據(jù)之前加載所需的數(shù)據(jù),這樣可以縮減用戶等待數(shù)據(jù)加載的時(shí)間。
9.加載顯示同步進(jìn)行–如果數(shù)據(jù)量非常大,建議只加載你所需部分?jǐn)?shù)據(jù),不要在把時(shí)間浪費(fèi)在一次性加載全部數(shù)據(jù)上,讓你的用戶空等。
10.對(duì)數(shù)據(jù)/模板進(jìn)行重用(盡量避免加載XAML)–重用模板意味著增加App的效率,避免重載同樣的內(nèi)容。
11.盡量不要使用XAML–若非必要情況,不要使用XAML。我經(jīng)常看到一些運(yùn)行速度很慢的App,它們有一個(gè)共同特點(diǎn):在使用很少的控件就能夠解決問題的情況下,它們偏偏使用一些非常復(fù)雜而沒有使用必要的嵌套控件。
12.避免使用嵌套Margin–這樣可以減少布局引擎計(jì)算元素位置的計(jì)算工作量。
13.不要使用XAML—這的確很極端,但是使用代碼構(gòu)建UI會(huì)比使用XAML為系統(tǒng)提供更好的性能(可以節(jié)省下解析的時(shí)間)。
過去,以上這些規(guī)則使我深受其益。希望以后,這些規(guī)則也能夠給你帶來幫助。
原文鏈接:http://mobile.dzone.com/articles/13-ways-improve-performance
【編輯推薦】