Android App 優化小點

積極思考造成積極人生,消極思考造成消極人生。


本文記錄最近針對手頭應用做的一些優化,主要介紹優化切入點,具體優化措施,不做重點描述。

UI重繪問題

透過開發者模式下的重繪檢查選項,檢查過度重繪問題。開啓檢測過渡繪製開關,UI類似下圖的樣子。
這裏寫圖片描述

官方的過度繪製說明如下:
這裏寫圖片描述
透過上述信息就能直觀看到是否存在過渡繪製問題。過度繪製問題發現後,主要通過兩種方式解決:

  1. 使用ConstraintLayout減少佈局嵌套
  2. 使用ViewStub惰性加載非必須呈現的UI
  3. 清理代碼,移除舊代碼中已經廢棄的UI

不必要的網絡請求

不必要的網絡請求會無端消耗用戶寶貴的流量,同時也會拉高應用的功耗,降低應用性能。
查看網絡請求可以通過android studio的Profiler工具監測,同時也可以用chrome瀏覽器進行查看,本文介紹chrome瀏覽器查看。
在這裏插入圖片描述
如上圖在chrome瀏覽器輸入

chrome://inspect/

點擊inspect,會彈出工具框
在這裏插入圖片描述
每一次操作引起的網絡請求都會在右邊顯示出來,我們可以直觀的看到哪些網絡請求在頻繁的調用。
在針對我們應用debug時通過該工具就發現了進入直播間會頻繁下載禮物動畫資源的情況。禮物動畫資源比較大,有的可以達到10M左右,爲了在直播間播放禮物時,能夠流程,大禮物資源都是提前預先下載到本地的,然而這裏每次進入直播間都可以看到在下載禮物,這個就非常不合業務邏輯了,發現該可疑點後,通過代碼排查發現是我們用到的Fresco框架,在設置本地緩存時只設置了200M,而大禮物體積比較大,很容易就達到本地緩存上限,於是Fresco框架自動刪除了一些本地緩存的大禮物,這就導致了每次進入直播間,都在下載大禮物。
將本地緩存增大後,在查看就發現沒有在出現每次進入直播間都在下載大禮物了。結合android studio的Profiler工具可以看到網絡請求很平穩了。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章