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