優(yōu)化心得和經(jīng)驗(yàn)
- 系列視頻 Android Performance Patterns
- 給 App 提速:Android 性能優(yōu)化總結(jié)
- 移動端性能監(jiān)控方案 Hertz
- Android 性能優(yōu)化后續(xù)
- Android性能優(yōu)化之虛擬機(jī)調(diào)優(yōu)
- Android UI 性能優(yōu)化
- Performance Tips
- 美團(tuán)外賣Android Lint代碼檢查實(shí)踐
- Android battery and memory optimizations - Google I/O 2016
- Google 免費(fèi)的公開課 : Android Performance
- Android APP 性能優(yōu)化的一些思考
- 使用Android Studio和MAT進(jìn)行內(nèi)存泄漏分析
- 歷時(shí)1年,上百萬行代碼唬党!首次揭秘手淘全鏈路性能優(yōu)化(上)
- 別催更啦晃酒!手淘全鏈路性能優(yōu)化下篇
- Android開發(fā)高手課
- 手Q Android緩存監(jiān)控與優(yōu)化實(shí)踐
- 微信讀書(Android)閱讀引擎卡頓監(jiān)控測試
- Data science for mobile OS system optimization
- Matrix TraceCanary – 初戀·卡頓
- Matrix IOCanary – I/O 質(zhì)量監(jiān)控
- 見微知著半醉,Google Photos Web UI 完善之旅
- 微信 Android 終端內(nèi)存優(yōu)化實(shí)踐
- 支付寶客戶端架構(gòu)解析:Android 客戶端啟動速度優(yōu)化之「垃圾回收」
- 抖音BoostMultiDex優(yōu)化實(shí)踐:Android低版本上APP首次啟動時(shí)間減少80%
- 抖音包大小優(yōu)化-資源優(yōu)化
- 性能問題終結(jié)者”O(jiān)lympic
- 美團(tuán)Java線程池實(shí)現(xiàn)原理及其在美團(tuán)業(yè)務(wù)中的實(shí)踐
- Probe:Android線上OOM問題定位組件
響應(yīng)速度
- Android App 啟動優(yōu)化全記錄
- Optimizing Boot Times
- Android 中如何計(jì)算 App 的啟動時(shí)間
- Google 官方文檔 - Launch-time performance
- 都9102年了设联,Android 冷啟動優(yōu)化除了老三樣還有哪些新招?
- 支付寶 App 構(gòu)建優(yōu)化解析:通過安裝包重排布優(yōu)化 Android 端啟動性能
- Redex 初探與 Interdex:Andorid 冷啟動優(yōu)化
- Android性能優(yōu)化筆記(一)——啟動優(yōu)化
- 抖音研發(fā)實(shí)踐:基于二進(jìn)制文件重排的解決方案 APP啟動速度提升超15%
- 愛奇藝Android客戶端啟動優(yōu)化與分析
- 深入探索Android啟動速度優(yōu)化
流暢度
- Android 中的卡頓丟幀原因概述 - 方法論
- Android 中的卡頓丟幀原因概述 - 系統(tǒng)篇
- Android 中的卡頓丟幀原因概述 - 應(yīng)用篇
- Android 平臺應(yīng)用寶和訊飛輸入法無障礙服務(wù)導(dǎo)致的全局卡頓分析
- Evaluating Performance
- Understanding Systrace
- Using ftrace
- Identifying Capacity-Related Jank
- Identifying Jitter-Related Jank
- 那些年我們用過的顯示性能指標(biāo)
- Slow rendering
- Android 流暢度檢測原理簡析
- Android JankTracker 原理解析
- Android 界面性能調(diào)優(yōu)手冊
- App流暢度優(yōu)化:利用字節(jié)碼插樁實(shí)現(xiàn)一個快速排查高耗時(shí)方法的工具
內(nèi)存
- Android 中低內(nèi)存對性能的影響
- Low RAM Configuration
- Linux Swap 與 Zram 詳解
- Android 加載不同 DPI 資源與內(nèi)存消耗間的關(guān)系
- ZRAM SWAP 內(nèi)存管理講解
- Android OOM 案例分析
- Android 代碼內(nèi)存優(yōu)化建議-Android 資源篇
- Android 代碼內(nèi)存優(yōu)化建議-Android 官方篇
- Android 代碼內(nèi)存優(yōu)化建議-Java 官方篇
- Android 內(nèi)存優(yōu)化之一:MAT 使用入門
- Android 內(nèi)存優(yōu)化之二:MAT 使用進(jìn)階
- Android 內(nèi)存優(yōu)化之三:打開 MAT 中的 Bitmap 原圖
- Android 代碼內(nèi)存優(yōu)化建議-OnTrimMemory 優(yōu)化
- Android LowMemoryKiller原理分析
- Android 匿名共享內(nèi)存(Ashmem)原理
- 郝健: Linux內(nèi)存管理學(xué)習(xí)筆記-第1節(jié)課
- 郝健: Linux內(nèi)存管理學(xué)習(xí)筆記-第2節(jié)課
- 郝健: Linux內(nèi)存管理學(xué)習(xí)筆記-第3節(jié)課
- 郝健: Linux內(nèi)存管理學(xué)習(xí)筆記-第4節(jié)課
- 郝健: Linux內(nèi)存管理學(xué)習(xí)筆記-第5節(jié)課
- 郝健: Linux內(nèi)存管理學(xué)習(xí)筆記-第6節(jié)課
- Manage your app’s memory
- Overview of memory management
- Linux 查看進(jìn)程消耗內(nèi)存情況總結(jié)
- 一次過程Android平臺native heap內(nèi)存泄露的追查過程
- 淺談Cache Memory
- Bitmap優(yōu)化詳談
- 探索 Android 內(nèi)存優(yōu)化方法
- 看完這篇文章,解決 APP 中 90 % 的內(nèi)存異常問題
- 實(shí)踐App內(nèi)存優(yōu)化:如何有序地做內(nèi)存分析與優(yōu)化
- 談?wù)剝?nèi)存壓縮那些事
- dumpsys meminfo 的原理和應(yīng)用
圖形棧
- Android display pipeline本身以及進(jìn)程調(diào)度
- Android 中的 Hardware Layer 詳解
- Android 硬件加速原理與實(shí)現(xiàn)簡介
- Android 圖形系統(tǒng)概述
- Choreographer 原理
- SurfaceFlinger 啟動篇
- SurfaceFlinger 繪圖篇
- Android 應(yīng)用程序 UI 硬件加速渲染技術(shù)簡要介紹和學(xué)習(xí)計(jì)劃
- Android 應(yīng)用程序 UI 硬件加速渲染環(huán)境初始化過程分析
- Android 應(yīng)用程序 UI 硬件加速渲染的預(yù)加載資源地圖集服務(wù)(Asset Atlas Service)分析
- Android 應(yīng)用程序 UI 硬件加速渲染的 Display List 構(gòu)建過程分析
- Android 應(yīng)用程序 UI 硬件加速渲染的 Display List 渲染過程分析
- Android 應(yīng)用程序 UI 硬件加速渲染的動畫執(zhí)行過程分析
- Android硬件加速(一)- 理解Android硬件加速原理的小白文
- Android硬件加速(二)- RenderThread與OpenGL GPU渲染
- Android中的GraphicBuffer同步機(jī)制-Fence
- Android P 圖形顯示系統(tǒng)(一)硬件合成HWC2
- Android P 圖像顯示系統(tǒng)(二)GraphicBuffer和Gralloc分析
- Android P 圖像顯示系統(tǒng)(三)Android HWUI 繪制流程
- Android P 圖形顯示系統(tǒng)(四) Android VirtualDisplay解析
- Android P 圖形顯示系統(tǒng)(五) 上層Client和SurfaceFlinger的交互
- Android P 圖形顯示系統(tǒng)(六) SurfaceFlinger合成流程(一)
- Android P 圖形顯示系統(tǒng)(七) SurfaceFlinger合成流程(二)
- Android P 圖形顯示系統(tǒng)(八) SurfaceFlinger合成流程(三)
- Android P 圖形顯示系統(tǒng)(九) Android圖形顯示子系統(tǒng)概述
- Android P 圖形顯示系統(tǒng)(十) BufferQueue(一)
- Android P 圖形顯示系統(tǒng)(十一) BufferQueue(二)
- Android P 圖形顯示系統(tǒng)(十二) BufferQueue(三)
- 渲染流水線中的光柵化1
- 渲染流水線中的光柵化2
虛擬機(jī)
- 帶你了解 Android 10 中的 art(1)
- 帶你了解 Android 10 中的 art(2)
- 帶你了解 Android 10 中的 art(3)
- 帶你了解 Android 10 中的 art(4)
- 帶你了解 Android 10 中的 art(5)
- ART and Dalvik
- Android 8.0 ART Improvements
- Dalvik bytecode
- Dalvik Executable format
- Dalvik Executable instruction formats
- Constraints
- Configuring ART
- Debugging ART Garbage Collection
- Implementing ART Just-In-Time (JIT) Compiler
- 深入學(xué)習(xí)Android:虛擬機(jī)&運(yùn)行時(shí)
- Android性能優(yōu)化之虛擬機(jī)調(diào)優(yōu)
- Android上的Dalvik虛擬機(jī)
- Android上的ART虛擬機(jī)
- Android ART 并行拷貝垃圾回收
- Android ART dex2oat 淺析
系統(tǒng)框架
- Task Snapshots
- Android Input 子系統(tǒng):Input 進(jìn)程的創(chuàng)建嫂侍,監(jiān)聽線程的啟動
- Android Input 子系統(tǒng):Input 事件的產(chǎn)生沾谓、讀取和分發(fā),InputReader渗稍、InputDispatcher
- EventHub 與設(shè)備佩迟、Input 事件的交互
- Android 消息機(jī)制团滥,從Java 層到 Native 層剖析
- 理解 Android Binder 機(jī)制(1/3):驅(qū)動篇
- 理解 Android Binder 機(jī)制(2/3):C++ 層
- 理解 Android Binder 機(jī)制(3/3):Java 層
- Android Bander 設(shè)計(jì)與實(shí)現(xiàn) - 設(shè)計(jì)篇
- 四大組件之綜述
- 四大組件之 ActivityRecord
- 四大組件之 ContentProviderRecord
- 四大組件之 BroadcastRecord
- 四大組件之 ServiceRecord
- 簡述 Activity 與 Window 關(guān)系
- 理解 Android Context
- 理解 Application 創(chuàng)建過程
- 以 Window 視角來看 startActivity
- WMS—啟動窗口(StartingWindow)
- WMS—啟動過程
- 寫給 Android 應(yīng)用工程師的 Binder 原理剖析
- Binder系列—開篇
- Binder系列1—Binder Driver初探
- Binder系列2—Binder Driver再探
- Binder系列3—啟動ServiceManager
- Binder系列4—獲取ServiceManager
- Binder系列5—注冊服務(wù)(addService)
- Binder系列6—獲取服務(wù)(getService)
- Binder系列7—framework層分析
- Binder系列8—如何使用Binder
- Binder系列9—如何使用AIDL
- Binder系列10—總結(jié)
- 徹底理解Android Binder通信架構(gòu)
- Android Bander設(shè)計(jì)與實(shí)現(xiàn) - 設(shè)計(jì)篇
- Binder學(xué)習(xí)指南
- 你知道android的MessageQueue.IdleHandler嗎?
- 聊一聊Android的消息機(jī)制
- 聊聊 APK (一) ——直接運(yùn)行 Dex文件的黑魔法
- 聊聊 APK(二)——Dex 熱修復(fù)與 Classpath
- 聊聊 APK(三)—— Android 資源編譯的秘密
- 盧半山 - 反思|Android 事件攔截機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)
- 盧半山 - Binder 內(nèi)存拷貝的本質(zhì)和變遷
- 盧半山 - AIDL 中 inout 的本質(zhì)
- 盧半山 - Binder 的異常機(jī)制
- 盧半山 - Binder 世界中的代理機(jī)制(上)
- 盧半山 - Binder 概述
- Android 系統(tǒng)架構(gòu) —— Choreographer 的工作機(jī)制
- Looper的wake機(jī)制升級
- Android10.0 Binder通信原理(一)Binder报强、HwBinder灸姊、VndBinder概要
- Android10.0 Binder通信原理(二)-Binder入門篇
- Android10.0 Binder通信原理(三)-ServiceManager篇
- Android10.0 Binder通信原理(四)-Native-C\C++實(shí)例分析
- Android10.0 Binder通信原理(五)-Binder驅(qū)動分析
- Android10.0 Binder通信原理(六)-Binder數(shù)據(jù)如何完成定向打擊
- Android10.0 Binder通信原理(七)-Framework binder示例
- Android10.0 Binder通信原理(八)-Framework層分析
- Android10.0 Binder通信原理(九)-AIDL Binder示例
- Android10.0 Binder通信原理(十)-AIDL原理分析-Proxy-Stub設(shè)計(jì)模式
穩(wěn)定性
- 徹底理解安卓應(yīng)用無響應(yīng)機(jī)制
- 應(yīng)用與系統(tǒng)穩(wěn)定性第一篇—ANR問題分析的一般套路
- 應(yīng)用與系統(tǒng)穩(wěn)定性第二篇—ANR的監(jiān)測與信息采集
- 應(yīng)用與系統(tǒng)穩(wěn)定性第三篇—FD泄露問題漫談
- 應(yīng)用與系統(tǒng)穩(wěn)定性第四篇—單線程導(dǎo)致的空指針問題分析
- 應(yīng)用與系統(tǒng)穩(wěn)定性第五篇—Watchdog原理和問題分析
- 應(yīng)用與系統(tǒng)穩(wěn)定性第六篇—JVM垃圾回收之finalize執(zhí)行時(shí)引起timed out 閃退分析
- 應(yīng)用與系統(tǒng)穩(wěn)定性第七篇— 用Asan 提前解決NDK疑難crash
功耗
進(jìn)程管理
- cpuset
- cgroup
- Android 進(jìn)程調(diào)度之 adj 算法
- Linux 進(jìn)程管理(一)
- Linux 進(jìn)程管理(二)–fork
- Linux 進(jìn)程 pid 分配法
- 收費(fèi)培訓(xùn)視頻 打通 Linux 脈絡(luò)系列:進(jìn)程、線程和調(diào)度
- Android 系統(tǒng)中的進(jìn)程管理:進(jìn)程的創(chuàng)建
- Android 系統(tǒng)中的進(jìn)程管理:進(jìn)程的優(yōu)先級
- Android 系統(tǒng)中的進(jìn)程管理:內(nèi)存的回收
- Android系統(tǒng)上的進(jìn)程管理:進(jìn)程的調(diào)度
- Android 系統(tǒng)啟動:init 進(jìn)程與 init 語言
- Android 進(jìn)程北龋活招式大全
- 進(jìn)程和線程
- 通過線程提升性能
- 解讀Android進(jìn)程優(yōu)先級ADJ算法
- 雜談Android線程優(yōu)先級
IO
調(diào)試工具
- 另一個 Android 性能剖析工具——simpleperf
- Simpleperf
- 如何調(diào)試 Android Framework
- 如何調(diào)試 Android Native Framework
- Catapult 項(xiàng)目
- 手把手教你使用Systrace(一)
- 手把手教你使用Systrace(二)——鎖優(yōu)化
- 使用Android Studio和MAT進(jìn)行內(nèi)存泄漏分析
- Systrace 簡介
- Systrace 基礎(chǔ)知識 - Systrace 預(yù)備知識
- Systrace 基礎(chǔ)知識 - Why 60 fps 力惯?
- Systrace 基礎(chǔ)知識 - SystemServer 解讀
- Systrace 基礎(chǔ)知識 - Input 解讀
- Systrace 基礎(chǔ)知識 - Vsync 產(chǎn)生與工作機(jī)制解讀
- Systrace 基礎(chǔ)知識 - Vsync-App :基于 Choreographer 的渲染機(jī)制詳解
- Systrace 基礎(chǔ)知識 - MainThread 和 RenderThread 解讀
- Systrace 基礎(chǔ)知識 - Binder 和鎖競爭解讀
- Systrace 基礎(chǔ)知識 - Triple Buffer 解讀
- Systrace 基礎(chǔ)知識 - CPU Info 解讀
- Tracing Window Transitions
- Android性能問題分析之bugreport
- 騰訊 Apm 框架 Matrix 源碼閱讀 - gradle插件
- 騰訊 Apm 框架 Matrix 源碼閱讀 - TracePlugin 架構(gòu)解析
- 騰訊 Apm 框架 Matrix 源碼閱讀 - TracePlugin 之 AnrTracer
- 騰訊 Apm 框架 Matrix 源碼閱讀 - TracePlugin 之 StartupTracer
- 騰訊 Apm 框架 Matrix 源碼閱讀 - TracePlugin 之 FrameTracer
- 騰訊 Apm 框架 Matrix 源碼閱讀 - 架構(gòu)解析
硬件相關(guān)
編程語言
Cancellation and Exceptions in Coroutines
Linux
- 內(nèi)核探索:Regmap 框架:簡化慢速 I/O 接口優(yōu)化性能
- 嵌入式 Linux 啟動時(shí)間優(yōu)化
- Linux文件系統(tǒng)預(yù)讀的情景分析
- 使用blktrace統(tǒng)計(jì)磁盤塊I/O訪問頻率
- Linux系統(tǒng)調(diào)用(syscall)原理
- 淺墨: 聊聊Linux IO(上)
- 淺墨: 聊聊Linux IO(中)——Linux內(nèi)核中的IO棧
- 淺墨: 聊聊Linux IO(下)
- 郭健: deadline調(diào)度器之(一):原理
- 郭秸偎弧: Deadline調(diào)度器之(二):細(xì)節(jié)和使用方法
- 郭礁妇А: Linux內(nèi)存模型——平坦、非連續(xù)與稀疏
- linux內(nèi)核分析——CFS(完全公平調(diào)度算法)
- 從幾個問題開始理解CFS調(diào)度器
- CFS調(diào)度器(1)-基本原理
- CFS調(diào)度器(2)-源碼解析
- CFS調(diào)度器(3)-組調(diào)度
- CFS調(diào)度器(4)-PELT(per entity load tracking)
- CFS調(diào)度器(5)-帶寬控制
- CFS調(diào)度器(6)-總結(jié)
- 關(guān)于線程和I/O模型的極簡知識
- TRIM:提升磁盤性能弄跌,緩解Android卡頓
- LWN 456904: 避免磁盤回寫(writeback)甲喝,抑制(throttling)緩存(page cache)寫入
- LWN 384093: 有關(guān) “回寫”(writeback)的問題討論
- LWN 211505: 避免和解決內(nèi)存碎片化
- SMP Primer for Android
- 內(nèi)存分配1 - 空閑鏈表和內(nèi)存池
- 內(nèi)存分配2 - Buddy系統(tǒng)的原理
- 內(nèi)存分配3 - Linux中Buddy系統(tǒng)的實(shí)現(xiàn)
- Linux中的內(nèi)存壓縮
- 研究Linux內(nèi)核的樂趣
- linux IO Block layer 解析
- CFS任務(wù)的負(fù)載均衡(框架篇)
- 一張圖讀懂內(nèi)存反碎片化
- 淺談新型非易失存儲
- Linux devfreq framework 剖析
- 內(nèi)存泄漏(增長)火焰圖
- Linux 系統(tǒng)性能評測基準(zhǔn)系統(tǒng)配置及其原理
- Cgroups 與 Systemd
Flutter
- 深入 Flutter 的高性能圖形渲染
- 跨平臺技術(shù)演進(jìn)及Flutter未來
- 跨平臺技術(shù)趨勢及字節(jié)跳動 Flutter 架構(gòu)實(shí)踐
- Flutter 的性能測試和理論
- 深入理解 Flutter 多線程
- 深入理解Flutter引擎啟動
- Flutter渲染機(jī)制—UI線程
- Flutter渲染機(jī)制—GPU線程
Fuchsia
技術(shù)之外的思考
- 我到底有多么努力
- 工作以來的一些感悟
- 如何自學(xué)Android?
- 技術(shù)人最重要的能力是什么铛只?
- 淺談軟件工程師的代碼素養(yǎng)
- 陸奇:除了好代碼埠胖,工程師怎樣才算優(yōu)秀?
- 別讓自己“墻”了自己
- 100% 成功率的 offer 收割機(jī)是怎樣練成的淳玩?
- 使用簡單的邏輯方法進(jìn)行獨(dú)立思考
面試題
- Android 2018 最新面試題
- 如何衡量一個Android應(yīng)用開發(fā)人員的能力
- 2018Android面試總結(jié)
- Android2017-2018最新面試題(3-5年經(jīng)驗(yàn)個人面試經(jīng)歷)
- Android 開發(fā)工程師面試指南
- 阿里電話面試面試題總結(jié)直撤,附答案!
- 阿里巴巴面試題
- 美團(tuán)面試題
- 豌豆莢三面試題
- 蜻蜓FM面試題
- 新浪微博面試題
- 網(wǎng)易杭研面試題
- 為什么想來我們公司工作蜕着?- 面試常見問題解析
- 今日頭條大佬十年面試了 2000 人谋竖,總結(jié)了這 5 點(diǎn)
- 2019 年美團(tuán)點(diǎn)評高級 Android 開發(fā)寒冬跳槽漲薪經(jīng)驗(yàn)掏心分享
- 如何回答性能優(yōu)化的問題,才能打動阿里面試官承匣?
- 2019.07 Android 面試真題集錦
- 技術(shù)面試中面試官怎么考察候選人圈盔?
- 給扔物線 HenCoder Plus 學(xué)員的一次分享文字版
- 快手,字節(jié)跳動悄雅,百度驱敲,美團(tuán)Offer之旅
- 美帝面試二三事