做Android APP開發應如何通過技術優化安卓APP性能?

2017-12-23文章來源: 銳云科技 http://www.cenyrx.tw    點擊詳詢     免費評估報價:400-969-0103

[溫馨提示]:專業服務,從溝通開始,銳云科技提供專業APP開發/微信開發一站式服務,免費規劃項目解決方案,產品經理一對一咨詢,
您可以通過點擊在線咨詢或撥打服務熱線(400-969-0103)與產品經理直接溝通,以獲得有效幫助!

        用過Android手機的都知道,安卓機有一個弊端,剛開始用很順暢,用一段時間后就變得卡頓,甚至有些應用程序在運行期間就莫名其妙的出現崩潰,最后無可奈何只能恢復出廠。其實,之所以會這樣,有一部分原因是因為一些安卓應用程序在使用過程中會莫名其妙的多了很多文件,導致手機APP越用約占內存,手機也越來越卡。所以今天Android APP開發公司銳云科技小編想說的重點是Android APP性能優化,做Android APP開發的都可以從以下四大方面來優化。

做Android APP開發應如何通過技術優化安卓APP性能?



一、卡頓優化

        Android 應用啟動慢,使用時經常卡頓,是非常影響用戶體驗的,應該盡量避免出現。卡頓的根本性原因可以分為兩大類:

        1、界面繪制:主要原因是繪制的層級深、頁面復雜、刷新不合理,由于這些原因導致卡頓的場景更多出現在UI和啟動后的初始界面以及跳轉到頁面的繪制上。

        2、數據處理:導致這種卡頓場景的原因是數據處理量太大,一般分為三種情況,一是數據在處理UI線程,二是數據處理占用CPU高,導致主線程拿不到時間片,三是內存增加導致GC頻繁,從而引起卡頓。

優化建議:

        1、布局優化:主要通過減少層級、減少測量和繪制時間、提高復用性三個方面入手。

        2、避免過度繪制:移除XML中非必須的背景,移除Window默認的背景、按需顯示占位背景圖片。自定義View優化。使用 canvas.clipRect()來幫助系統識別那些可見的區域,只有在這個區域內才會被繪制。

        3、啟動優化:通過對啟動速度的監控,發現影響啟動速度的問題所在,優化啟動邏輯,提高應用的啟動速度。啟動主要完成三件事:UI布局、繪制和數據準備。因此啟動速度優化就是需要優化這三個過程。

        4、合理的刷新機制:合理的刷新需要注意盡量減少刷新次數、盡量避免后臺有高的CPU線程運行以及縮小刷新區域。

二、內存優化

        在Android系統中有個垃圾內存回收機制,在虛擬機層自動分配和釋放內存,因此不需要在代碼中分配和釋放某一塊內存,從應用層面上不容易出現內存泄漏和內存溢出等問題,但是需要內存管理。Android系統在內存管理上有一個Generational Heap Memory模型,內存回收的大部分壓力不需要應用層關心,Generational Heap Memory有自己一套管理機制,當內存達到一個閾值時,系統會根據不同的規則自動釋放系統認為可以釋放的內存,也正是因為Android程序把內存控制的權力交給了Generational Heap Memory,一旦出現內存泄漏和溢出方面的問題,排查錯誤將會成為一項異常艱難的工作。

優化建議:

        1、對象引用:強引用、軟引用、弱引用、虛引用四種引用類型,根據業務需求合理使用不同,選擇不同的引用類型。

        2、減少不必要的內存開銷:注意自動裝箱,增加內存復用,比如有效利用系統自帶的資源、視圖復用、對象池、Bitmap對象的復用。

        3、使用最優的數據類型:比如針對數據類容器結構,可以使用ArrayMap數據結構,避免使用枚舉類型,使用緩存Lrucache等等。

        4、圖片內存優化:可以設置位圖規格,根據采樣因子做壓縮,用一些圖片緩存方式對圖片進行管理等等。

三、穩定性優化


        Android應用的穩定性定義很寬泛,影響穩定性的原因很多,比如內存使用不合理、代碼異常場景考慮不周全、代碼邏輯不合理等,都會對應用的穩定性造成影響。其中最常見的兩個場景是:Crash和ANR,這兩個錯誤將會使得程序無法使用,比較常用的解決方式如下:

        1、提高代碼質量:比如開發期間的代碼審核,看些代碼設計邏輯,業務合理性等。

        2、代碼靜態掃描工具:常見工具有Android Lint、Findbugs、Checkstyle、PMD等等。

        3、Crash監控:把一些崩潰的信息,異常信息及時地記錄下來,以便后續分析解決。

        4、Crash上傳機制:在Crash后,盡量先保存日志到本地,然后等下一次網絡正常時再上傳日志信息。
       
四、耗電優化

        在移動設備中,電池的重要性不言而喻,沒有電什么都干不成。對于操作系統和設備開發商來說,耗電優化一致沒有停止,去追求更長的待機時間,而對于一款應用來說,并不是可以忽略電量使用問題,特別是那些被歸為“電池殺手”的應用,最終的結果是被卸載。因此,應用開發者在實現需求的同時,需要盡量減少電量的消耗。

五、安裝包優化

        應用安裝包大小對應用使用沒有影響,但應用的安裝包越大,用戶下載的門檻越高,特別是在移動網絡情況下,用戶在下載應用時,對安裝包大小的要求更高,因此,減小安裝包大小可以讓更多用戶愿意下載和體驗產品。

優化建議:

        1、代碼混淆:使用ProGuard代碼混淆器工具,它包括壓縮、優化、混淆等功能。

        2、資源優化:比如使用Android Lint刪除冗余資源,資源文件最少化等。

        3、圖片優化:比如利用AAPT工具對PNG格式的圖片做壓縮處理,降低圖片色彩位數等。

        4、避免重復功能的庫,使用WebP圖片格式等。

        5、插件化:比如功能模塊放在服務器上,按需下載,可以減少安裝包大小。

        如果您有相關Android軟件開發需求,歡迎咨詢APP開發公司銳云科技,專業一站式開發,提供售后維護、更新迭代等服務。


標    簽: Android APP開發    安卓APP軟件開發    安卓開發公司

上一篇:喜馬拉雅電臺FM類APP開發應該具備哪些功能?
下一篇: 好用的幾款2018春運專業搶票APP軟件

在線留言

溫馨提示:百搜不如一問!專業產品經理全面解答您的咨詢疑問,保持電話暢通,稍后給您回電。
  • * 姓 名:
  • * 手機號碼:
  • * 微信/QQ:
  • * 項目:
  •     
五味斋心水论坛