背景
安卓誕生以來,就一直有這樣的話題 “安卓手機越用越卡”,其實安卓手機卡頓的原因很多,例如某些APP越來越臃腫,全家桶喚醒、占用運存過多,導致手機的運存不夠用了,
又例如因為訊息推送服務的關系,APP需要一直后臺運行,同樣也會占用非常多的運存,這也就是為什么現在安卓手機的運存越來越大,
為了優化安卓手機性能,目前的方法也是非常多,例如凍結APP喚醒、使用小程式/PWA程式代替部分應用、刷第三方優化過的ROM、CPU性能調度、刷內核等等……
Android必備技能
作為一個Android程式員,性能優化是無法避開的事情,并且性能優化也是Android中最有挑戰的作業之一,更是每個工程師都需要掌握的核心技能,
性能問題和Bug不同,后者的分析和解決思路更清晰,很多時候從應用日志即可直接找到問題根源,而性能問題,其排查思路更為復雜一些,
對App進行性能優化,是一個系統性的工程,對工程師的技術廣度和技術深度都有所要求,一個簡單的應用,它不僅包含了應用代碼本身,還和虛擬機、存盤、網路等緊密相關,線上應用一旦出現了性能問題,需要我們從多方面去考慮,
現狀
現如今,國內移動互聯網紅利期已過,Android 開發也從最初的一人難求,到后來的一個崗位百人競投,僧多粥少的情況直接導致整個行業對求職者的要求越來越高,Android 開發越來越規范,間接導致專案對質量要求的提升,啟動優化、記憶體優化、App 崩潰監控等性能調優也逐漸成了人手必備的技能,
這時候一線互聯網大廠性能優化專案實戰便成為了Android開發工程師參考的重點物件,從問題中找出自己的缺陷,吸取更多專案經驗,提升自身的技能知識,因此在這分享這份《Android性能優化實戰篇》,讓每一個想進入 Android 系統開發和優化這個領域的人,能通過這份筆記手冊快速入門,同時也算是對知識的一個梳理,查漏補缺,終身學習,
全一線互聯大廠性能優化實戰
騰訊團隊:
- 騰訊Bugly:對字串匹配演算法的一點理解
- 全民k歌適配arm64-v8a方案
- 全民K歌記憶體篇2——虛擬記憶體淺析
- 全民K歌記憶體篇1——線上監控與綜合治理
- 騰訊 Bugly:動態下發 so 庫在 Android APK 安裝包瘦身方面的應用
- QQ音樂Android編譯提速之路

愛奇藝團隊
- 愛奇藝:安卓APP崩潰捕獲方案——xCrash
- Android篇 | 愛奇藝App啟動優化實踐分享
- 二維碼掃描優化及愛奇藝App的實踐

位元組團隊
- 位元組跳動:深入理解Gradle框架之一:Plugin, Extension, buildSrc
- 位元組跳動:二維碼掃描優化
- 頭條 | 深入理解gradle框架之二:依賴實作分析
- 頭條| 開源 | Scene:Android 開源頁面導航和組合框架
- 抖音BoostMultiDex優化實踐:Android低版本上APP首次啟動時間減少80%
- 抖音BoostMultiDex優化實踐:Android低版本上APP首次啟動時間減少80%(二)
- 抖音包大小優化-資源優化
- 今日頭條 ANR 優化實踐系列 - 設計原理及影響因素
- 今日頭條 ANR 優化實踐系列 - 監控工具與分析思路
- 今日頭條 Android ‘秒’ 級編譯速度優化
- 抖音 Android 性能優化系列:Java 記憶體優化篇

百度團隊
- 百度APP技術:Android H5首屏優化實踐
- 百度App組件化之路
- 百度App網路深度優化系列《三》弱網優化

阿里團隊
- 支付寶客戶端架構決議:Android 客戶端啟動速度優化之「垃圾回收」
- 支付寶 App 構建優化決議:通過安裝包重排布優化 Android 端啟動性能
- 支付寶 App 構建優化決議:Android 包大小極致壓縮
- 閑魚如何在2個月內實作Android啟動速度翻倍的?
- 解決支付寶包體積優化的遺留問題:運行時獲取dexpc

攜程
- 攜程:從智行 Android 專案看組件化架構實踐
- 攜程Android 10適配踩坑指南

網易
- 網易傳媒技術團隊:AOP技術在客戶端的應用與實踐
- 網易大資料|互聯網產品決策秘笈: AB測驗
- 網易新聞構建優化:如何讓你的構建速度“勢如閃電”?
- 網易新聞客戶端 H5 秒開優化

總結
希望這篇性能優化實戰篇幫助大家在技術的道路上更進一步,
當然,你也可以拿去查漏補缺,提升自身的競爭力,
真心希望可以幫助到大家,Android路漫漫,共勉!
如果你有需要的話,只需私信我【性能】或直接點擊下方二維碼即可免費獲取!

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/300018.html
標籤:其他
上一篇:Kotlin之協程coroutine lifecycleScope 和 viewModelScope原始碼(2)
