Android介面最佳化方法,android介面最佳化

來源:互聯網
上載者:User

Android介面最佳化方法,android介面最佳化

我們在推出一款APP之後,中間出現了一些體驗上的問題,一個明顯的是介面卡頓,針對此問題我們採取了如下的一些措施,起到了一些效果。

1.最佳化介面層次

針對可以合并的介面層次進行合并,減少介面的渲染,這個過程中主要使用的工具是開發人員設定顯示過度渲染,紅色的地區的必須要最佳化的地方。

2.減少介面重新整理次數

減少介面重新整理次數是很好的介面最佳化,尤其是針對ListView之類的集合型頁面。

【1】使用延時減少介面重新整理次數:我們做了一個延時機制,每次重新整理延遲1s進行,當在這一秒鐘又有重新整理請求的時候就繼續延遲重新整理時間,最多達到5s的時候就必須進行介面重新整理,這一效果是非常明顯的。

【2】重新整理介面之前判斷是否真的需要重新整理:針對其他的固定介面,我們會進行判斷是否需要進行介面重新整理,如果當前顯示與要顯示的是一樣的,那就沒有必要進行重新整理。

【3】緩衝介面:如果我們要時刻更新ListView中的介面,而這些更新也不會導致ListView的順序,那就把這些View都做個緩衝,直接進行View的更新。

【4】靜態化介面:這是緩衝介面的一種方式,針對複雜的介面使用static變數緩衝,每次構建介面的時候,針對這個static view做調整。

3.介面模型與資料模型分離

原來的時候我們在View顯示之前,會針對資料模型進行處理,處理之後才會在介面上顯示,這些處理邏輯應該提取出來放在非同步線程中,產生具體的介面模型,顯示的時候直接拿來展示。

4.把io操作從主線程中剝離出來

這個是3的一個具體體現,把操作檔案,資料庫等io操作從主線程中剝離出來,避免主線程阻塞。

5.避免資源競爭。

盡量減少一些資源的產生,例如程式中new的操作盡量減少,線程數量合理控制。當記憶體資源消耗嚴重時,記憶體回收會被頻繁調起,在日誌中經常會出現skip frame的情況。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.