第1章 程序員小窩——搭建高效的開發環境 1
1.1 搭建高效的開發環境之操作係統 1
1.2 搭建開發環境之高效配置 4
基本環境配置 5
基本開發工具 7
1.3 搭建程序員的博客平颱 30
開發者為什麼要寫作 30
寫作平颱 31
第三方博客平颱 31
自建博客平颱 32
開發論壇 41
1.4 Geek PPT Presentation 43
impress.js 43
Strut 44
reveal.js 44
Slides 45
1.5 開發文檔 46
Markdown 46
項目文檔生成器 50
第2章 版本控製神器——Git 53
2.1 Git的前世今生 53
Git是什麼 54
Git安裝與配置 55
2.2 創建Git倉庫 58
Git init 58
Git clone 58
2.3 提交修改 58
add && commit 59
追加修改 60
查看代碼倉庫狀態 60
追溯版本曆史 62
2.4 工作區與暫存區 64
Git操作區域 64
2.5 Git迴退 65
checkout && reset 65
迴退版本 67
2.6 操作曆史 68
2.7 Git文件操作 69
git rm 69
文件暫存 70
2.8 遠程倉庫 70
身份認證 71
同步協作 73
Clone遠程倉庫 76
2.9 分支管理 77
創建分支 77
查看分支 78
閤並分支 78
刪除分支 79
查看遠程分支 80
推送分支 80
分支管理思想 80
2.10 Git圖解 81
2.11 Tag 82
創建Tag 82
創建帶標簽的Tag 82
查看Tag 82
刪除標簽 83
推送Tag到遠程 83
刪除遠程Tag 83
2.12 Git圖形化工具 84
Git for Windows 84
Github Desktop 84
SourceTree 85
Android Studio 85
2.13 Git學習資料 86
Git練習 87
第3章 Android Studio奇技淫巧 90
3.1 Android Studio使用初探 90
Project麵闆 91
Structure麵闆 92
Android Monitor 93
Keymap 93
Tip of the Day 94
快速查找 95
Search Action 96
演示模式 97
3.2 Android Studio使用進階 98
操作與導航 98
快速重構 115
代碼模闆 122
內置模闆 122
自定義代碼注釋模闆 124
代碼分析 132
在Android Studio中進行版本管理 135
3.3 Android Studio新功能 139
項目模闆 139
ThemeEditor 140
Image Asset && Vector Asset 140
Android Monitor 143
Instant Run 144
Productivity Guide 145
3.4 Android Studio插件 146
Ignore 146
自動生成代碼類插件 148
主題插件 149
3.5 Android Studio資源網站 151
Android Studio中文社區 151
Android Studio問答社區 151
第4章 與Gradle的愛恨情仇 153
4.1 如何學習Gradle 154
4.2 Gradle初探 154
項目全局build.gradle 156
Module build.gradle 157
local.properties 159
Gradle Task 160
4.3 Gradle進階 162
更改項目結構 162
構建全局配置 165
構建defaultConfig 166
構建buildTypes 167
構建signingConfigs 170
生成簽名 170
Android領域中的可選配置 174
構建Proguard 175
Gradle動態參數配置 176
System.properties方式 176
多渠道打包 179
腳本優化 180
生成重命名包 181
為不同版本添加不同代碼 182
4.4 Gradle多項目依賴 185
jar包依賴 185
SO庫依賴 188
本地庫項目依賴 189
遠程倉庫依賴 193
本地aar依賴 196
使用Gradle上傳aar到Maven庫 198
4.5 Gradle依賴管理 199
Gradle依賴庫緩存 199
利用Gradle的通知機製 199
利用Gradle的依賴檢查 200
Gradle依賴傳遞 200
Gradle依賴統一管理 201
4.6 Gradle使用技巧 202
生成Gradle編譯腳本 202
Gradle peer not authenticated 203
Gradle性能檢測 203
Gradle加速 206
增加編譯內存 207
Gradle調用終端指令 207
使用Gradle精簡資源 207
清除Gradle緩存 208
使用Gradle本地緩存 209
Gradle版本問題導緻的編譯錯誤 209
Gradle資源衝突 210
4.7 Gradle自定義插件 211
構建默認插件 211
構建自定義插件 216
4.8 Gradle思考 219
Grovvy初探 219
Gradle項目架構 224
Gradle生命周期 225
4.9 使用Android Studio的圖形化界麵 228
第5章 深藏功與名的開發者工具 230
5.1 AAPT 230
AAPT初探 230
AAPT基本使用方法 231
查看AAPT命令格式 235
AAPT源代碼 239
5.2 Lint 240
5.3 ADB指令 241
Help指令 242
無綫調試 242
截圖與錄屏 243
幀率分析 244
dumpsys 245
Logcat 246
Bugreport 248
5.4 Android Device Monitor 250
5.5 9Patch工具 252
5.6 Hierarchy Viewer 255
在真機上使用Hierarchy Viewer 255
使用Hierarchy Viewer分析頁麵 256
5.7 UI Automator Viewer 257
5.8 DDMLib 258
其他SDK工具 258
5.9 開發者選項 259
Process Stats 259
Show Touches && Pointer Location 260
Show Layout Bounds 260
Animation Scale 261
Simulate Secondary Displays 262
Debug GPU Overdraw 262
Show CPU Usage 264
Profile GPU Rending 264
Strick Mode 265
不保留活動 266
第6章 App背後的故事——性能檢測與分析工具 267
6.1 性能優化之前 267
6.2 Google的技術指導 269
6.3 UI性能分析 271
16ms黃金準則 271
Android係統對UI的提升 271
布局核心準則 271
RelativeLayout VS LinearLayout 272
HierarchyViewer 272
Merge與ViewStub 273
圖形重繪Overdraw 273
Tracer for OpenGL 276
GPUProfiler 281
Profile GPU Rendering 281
Framestats 283
Logcat 283
traces.txt 284
Android Studio GPU Monitor 285
Systrace 285
CPU區域 290
SurfaceFlinger 291
應用區域 291
Alert 294
6.4 Traceview 294
In Source Code 295
In DDMS 296
Traceview分析 296
圖形列錶 297
詳細列錶 297
6.5 應用啓動時間計算 300
啓動時間定義 300
ADB計算啓動時間 300
使用相機分析 301
6.6 內存探究 301
內存區分 302
係統內存分析工具 302
獲取內存信息 306
GC係統 307
ActivityManager.MemoryInfo 308
Debug.MemoryInfo 310
Runtime 310
獲取更多內存 312
6.7 係統內存警告 313
6.8 onLowMemory 313
ComponentCallbacks 313
onTrimMemory 314
6.9 內存泄漏檢測 315
6.10 Logcat 315
6.11 Dump Heap 316
6.12 Allocation Tracker 318
In Android Studio 318
In DDMS 320
6.13 Android Studio Memory Monitor 321
6.14 內存泄漏分析 322
6.15 Memory Analysis Tool (MAT) 322
準備Dump Heap文件 324
分析 325
6.16 LeakCanary 333
引用LeakCanary 333
初始化LeakCanary 333
檢測 333
6.17 CPU Performance 335
6.18 Top 336
總覽 337
詳細 337
6.19 Show CPU Usage 338
6.20 Android Studio CPU Monitor 338
6.21 Method Tracing 339
6.22 BatteryPerformance 340
電量消耗計算 340
耗電元凶 341
電量分析 341
6.23 綜閤測試工具 346
6.24 Android Device Monitor 347
Threads 348
System Information 349
6.25 高通性能工具 350
Trepn Profiler 350
App Tune-up Kit 354
6.26 雲測平颱 356
第7章 一個人的寂寞與一群人的狂歡 359
7.1 如何解決問題 360
Chrome 360
Google搜索 362
Github 363
Stackoverflow 364
代碼檢索工具 365
7.2 如何簡化開發 371
移動後端服務 371
雲存儲服務 371
數據分析服務 372
雲測試服務 372
Proguard自動生成工具 372
gitignore自動生成工具 373
7.3 如何學習 374
思維導圖 374
explainshell 376
Tldr 377
vim-adventures 377
7.4 如何演示 378
手機投視工具 378
錄製Gif 379
MP4轉Gif 380
7.5 如何協作 381
Git 381
Code Review 381
Gitlab 383
Maven服務器 384
自動化測試 385
持續集成與自動化 387
Bug管理 388
新員工指南 390
7.6 如何設計 390
AndroidAssetStudio 391
Shape生成器 391
ICON資源 392
設計資源 394
AngryTools 394
MateriaPalette 396
Google Design Spec 396
附錄A AndroidStudio快捷鍵 398
· · · · · · (
收起)