• 知識庫
  • 0

如何通過技術優化讓Android程序變得流暢?

編劇42204蔚巴9393441:Android APP優化的幾點考量:高效的使用多線程。1.在後臺取消一些線程中的動作。App運行過程中所有的操作都默認在主線程(UI線程)中進行的,這樣App的響應速度就會受到影響。會導致程序陷入卡頓、死掉甚至會發生系統錯誤。為 瞭加快響應速度,需要把費時的操作(比如網絡請求、數據庫操作或者復雜的計算)從主線程移動到一個單獨的線程中。最高效的方式就是在類這一級完成這項操作,可以使用AsyncTask或者IntentService來創建後臺操作。2.保持響應不發生ANR。從UI線程中移除費時操作這個方式還可以防止用戶操作出現系統不響應(ANR)對話框。需要做的就是繼承AsyncTask來創建一個後臺工作線程,並實現doInBackground()方法。3.在線程中初始化查詢操作。當查詢操作正在後臺處理時,展示數據也不是即時的,可以使用CursorLoader對象來加快速度,這個操作可以使Activity和用戶之間的互動不受影響。使用這個對象後, App會為ContentProvider初始化一個獨立的後臺線程進行查詢,當查詢結束後就會給調用查詢的Activity返回結果。4.其它需要註意的方面。使用StrictMode來檢查UI線程中可能潛在的費時操作;使用一些特殊的工具如Safe.ijiami、Systrace或者Traceview來尋找在你的應用中的瓶頸;優化設備的電池壽命。文本數據轉換,進行非JIT正則表達式操作。5.優化網絡。如果沒有網絡連接,讓應用跳過網絡操作;隻在有網絡連接並且無漫遊的情況下更新數據;選擇兼容的數據格式,把含有文本數據和二進制數據的請求全部轉化成二進制數據格式請求;使用高效的轉換工具,多考慮使用流式轉換工具,少用樹形的轉換工具。

如何通過技術優化讓Android程序變得流暢?-圖1

zgoujpwc4:安卓程序並不能完完全全變得像iOS那樣流程,這是安卓本身的設計的限制。安卓程序的後臺運行是真的後臺運行,就算你關瞭程序,但是程序還是會在後臺運行的。所以,安卓註定會越用越卡,這是避免不瞭的,我們能做的隻有盡量優化一下,以下是一些建議。優化APP設計。減少代碼冗餘.比如重復性的代碼可以寫在函數裡,每次隻需調用同一塊代碼.更不要為實現一個功能而圖方便引入一個龐大的庫(有很多功能可能用不上,卻降低執行代碼的效率)。用戶要經常釋放內存。某些功能在用不上時絕對不要霸占著寶貴的內存空間。多瞭解一下計算機工作原理的知識,理解實現同一功能的兩段代碼背後運行效率的區別。

如何通過技術優化讓Android程序變得流暢?-圖2

雙谷靈71d1a1:首先要明白的是UI的繪制流程:measure-layout-draw,measure與layout都需要for loop所有的子控件,匯集起來才能完成繪制,佈局。所以子控件越多,所消耗的時間越長(inflate,layout_weight,relative,多層嵌套等),減少不必要的子控件或層級,是相當有必要的。你可以通過merge,viewstub這些標簽來減少層級嵌套。如果你的空間觀念沒那麼好,可以用HierarchyViewer工具來檢查。對於Listview或者GridView這種多item的組件來說,復用item可以減少inflate次數,通過setTag,getTag的ViewHolder方式實現復用,這裡要註意的是,holder中的控件最好reset後再賦值,避免圖片,文字錯亂。

如何通過技術優化讓Android程序變得流暢?-圖3

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *