|
| 1 | +# Knowledge System Catalog |
| 2 | + |
| 3 | +## 0、Trend |
| 4 | +### Cross-platform |
| 5 | +### Machine Learning |
| 6 | +### AR & VR |
| 7 | +### Audio & Video |
| 8 | +### Blockchain |
| 9 | +### Basic framework |
| 10 | +### Tool apps |
| 11 | + |
| 12 | +## 1、Learning System Source Code |
| 13 | + |
| 14 | +### Components |
| 15 | +#### Android Four Components |
| 16 | +##### Activity |
| 17 | +###### Launching Process of Activity |
| 18 | +###### Launching Procedure&Mode |
| 19 | +###### Lifecycle |
| 20 | +###### Relationship with Window/View |
| 21 | +###### Relationship with Fragment |
| 22 | +##### Service |
| 23 | +###### IPC(AIDL)、IntentService |
| 24 | +##### Insight into ContentProvider |
| 25 | +##### Insight into BroadcastReceiver |
| 26 | +#### Fragment |
| 27 | +##### Lazy Load |
| 28 | +##### Communicate with Activity |
| 29 | +#### Insight into Context |
| 30 | +#### Window |
| 31 | +##### Toast |
| 32 | +##### Dialog |
| 33 | +##### PopupWindow |
| 34 | +##### Differences between PopupWindow&Dialog |
| 35 | +#### WebView |
| 36 | +##### JSBridge |
| 37 | +##### Deeplink |
| 38 | +##### Accelerate Method |
| 39 | +#### RecyclerView |
| 40 | +##### Level 4 Cache + Partial Refresh |
| 41 | +##### Comparision with ListView |
| 42 | +#### Comparision of LinearLayout & RelativeLayout's efficiency at the Same Layer |
| 43 | +### System Service |
| 44 | +#### ActivityManagerService |
| 45 | +#### Window&WindowManager |
| 46 | +#### WindowManagerService |
| 47 | +#### ServiceManager |
| 48 | +### procedure |
| 49 | +#### Starting Procedure in Android System |
| 50 | +##### Starting Procedure of system_server |
| 51 | +#### Android Apk Installation |
| 52 | +#### Android Application Process Launch |
| 53 | +### Communication |
| 54 | +#### WIFI |
| 55 | +#### NFC |
| 56 | +#### Bluetooth |
| 57 | + |
| 58 | +## 2、Architecture |
| 59 | + |
| 60 | +### Design Patterns |
| 61 | +### Architecture Pattern |
| 62 | +#### MVP |
| 63 | +#### MVVM |
| 64 | +##### DataBinding |
| 65 | +#### Flux |
| 66 | +#### Clean Architecture |
| 67 | +#### Android Architecture Components |
| 68 | +#### Android Jetpack Architecture |
| 69 | +### App Framework |
| 70 | +#### Package Designing |
| 71 | +#### Layering |
| 72 | + |
| 73 | +## 3. Open Source Library |
| 74 | + |
| 75 | +### How to thoroughly grasp Open Source Library |
| 76 | +### ORM Frame |
| 77 | +#### GreenDao |
| 78 | +#### Room |
| 79 | +### EventBus |
| 80 | +#### EventBus(Open Source Lib) |
| 81 | +##### 4 mode and sticky event |
| 82 | +##### Observer Pattern for decoupling |
| 83 | +### Network |
| 84 | +#### Retrofit |
| 85 | +#### OKHttp |
| 86 | +##### Interceptor(Chain Of Responsibility Model) |
| 87 | +##### Timeout Retransmission & Redirect |
| 88 | +##### Http Cache |
| 89 | +##### Reuse Of Socket Connection Pool |
| 90 | +#### Volley |
| 91 | +### Image |
| 92 | +#### Glide |
| 93 | +#### Fresco |
| 94 | +#### Picasso |
| 95 | +### Dependency Injection |
| 96 | +#### ButterKnife |
| 97 | +#### Dagger2 |
| 98 | +### Serialization |
| 99 | +#### Gson |
| 100 | +#### FastJson |
| 101 | +### ARouter |
| 102 | +### Responsive Program |
| 103 | +#### RxJava |
| 104 | +##### Commonly used operator |
| 105 | +##### Thread Scheduling |
| 106 | +##### Exception Handling |
| 107 | +##### Flowable Back Pressure |
| 108 | +#### RxBinding |
| 109 | +#### RxAndroid |
| 110 | + |
| 111 | +## 4. Test |
| 112 | + |
| 113 | +### UnitTest |
| 114 | +#### Robolectric |
| 115 | +#### Automated Test |
| 116 | +#### UI Automation |
| 117 | +#### Monkey |
| 118 | + |
| 119 | +## 5. Common Mechanism |
| 120 | + |
| 121 | +### Thread Communication |
| 122 | +#### Handler Principle |
| 123 | +#### AsyncTask |
| 124 | +#### HandlerThread |
| 125 | +#### IntentService |
| 126 | +#### RxJava |
| 127 | +### Binder Mechanism |
| 128 | +### Thread |
| 129 | +#### lowmemorykiller |
| 130 | +#### Thread Priority |
| 131 | +### View System |
| 132 | +#### Custom Control |
| 133 | +##### Event Distribution Mechanism |
| 134 | +##### Custom animation |
| 135 | +##### Lottie Parsing Library |
| 136 | +##### Draw |
| 137 | +### Android Message Mechanism |
| 138 | +### Local Storage |
| 139 | +#### Sqlite, SharedPreferences and File |
| 140 | +### Resource Management System and Resource Loading Mechanism |
| 141 | + |
| 142 | +## 6. Android Basic Skills |
| 143 | + |
| 144 | +### Advanced Java |
| 145 | +#### Java Reflection |
| 146 | +#### Dynamic Proxy |
| 147 | +#### IO & NIO |
| 148 | +#### Multithreading and Concurrency |
| 149 | +#### Network Protocol |
| 150 | +#### Collection |
| 151 | +##### How can I master so many collections? |
| 152 | +##### HashMap |
| 153 | +##### LinkedHashMap |
| 154 | +##### HashTable |
| 155 | +##### ConcurrentHashMap |
| 156 | +##### TreeMap |
| 157 | +##### SparseArray |
| 158 | +### DataStructure & Algorithm |
| 159 | +### Operating System |
| 160 | +### ComputerNetwork |
| 161 | +#### Network protocol : DNS, HTTP/1.X, HTTPS, HTTP/2, TCP UDP |
| 162 | +#### SSL |
| 163 | +### Java Virtual Machine |
| 164 | +#### JVM |
| 165 | +#### ART & Dalvik |
| 166 | +##### AOT compilation |
| 167 | +##### Bytecode & Dex |
| 168 | +#### GC Mechanism |
| 169 | + |
| 170 | +## 7. Android Advanced |
| 171 | + |
| 172 | +### Resource Management |
| 173 | +#### Theme Style |
| 174 | +#### Multi Resolution Support |
| 175 | +#### AssertManager |
| 176 | +#### Resource |
| 177 | +### Package |
| 178 | +#### Gradle |
| 179 | +#### Compile |
| 180 | +#### Code Confusion |
| 181 | +#### App Signature |
| 182 | +### AOP |
| 183 | +### Dynamic |
| 184 | +#### The development of dynamic technology |
| 185 | +#### Cross-platform |
| 186 | +##### Summary |
| 187 | +##### React Native |
| 188 | +##### Fuchsia+Flutter+Dart |
| 189 | +##### weex |
| 190 | +##### JavaScript Engine |
| 191 | +##### Render Engine |
| 192 | +##### Layout Engine |
| 193 | +#### Android Plugin |
| 194 | +##### class and dex |
| 195 | +##### ClassLoader |
| 196 | +###### Hook Activity Lifecycle |
| 197 | +###### Parent Delegation Model |
| 198 | +##### Plugin principle |
| 199 | +##### Plugin Framework |
| 200 | +#### Hot-Fix |
| 201 | +### Cross-platform Language |
| 202 | +#### React |
| 203 | +#### Vue |
| 204 | +#### Wechat Mimi-program |
| 205 | +### Componentization |
| 206 | +#### Router |
| 207 | +### Message Push & Keep-alive |
| 208 | +#### Long Link 4 Keep-alive |
| 209 | +##### Heartbeat packet |
| 210 | +#### Progress 4 Keep-alive |
| 211 | +### JNI |
| 212 | +### Safety |
| 213 | +#### root principle |
| 214 | +#### Binary Loophole |
| 215 | +#### Classic Loophole(eg:cve20143153 cve20153636) |
| 216 | +#### poc & exp |
| 217 | +#### Android Reversing |
| 218 | +##### arm compilation |
| 219 | +##### smali bytecode |
| 220 | +##### DEX and ELF structure |
| 221 | +##### Android and Linux debug and anti-debug technique |
| 222 | +##### apk strengthen and anti-strengthen |
| 223 | +##### Hook |
| 224 | +### Multimedia |
| 225 | +#### Image |
| 226 | +##### Image Handler |
| 227 | +##### Animation |
| 228 | +##### Image Loading |
| 229 | +#### Audio And Video |
| 230 | +##### Audio Encode&Decode |
| 231 | +##### AudioTrack Play |
| 232 | +##### Video Encode&Decode |
| 233 | +##### OpenGL Measure |
| 234 | +##### Video Editing and Transcoding |
| 235 | +##### Video Filter |
| 236 | +### Performance Optimization |
| 237 | +#### App start time and code start time |
| 238 | +##### Prevent white screen at startup |
| 239 | +#### Crash collection and analysis |
| 240 | +#### Smooth detection and optimization |
| 241 | +##### ARR |
| 242 | +##### Avoid frequently GC |
| 243 | +##### ViewHolder |
| 244 | +#### Layout optimization |
| 245 | +##### include、merge、ViewStub |
| 246 | +#### Thread optimization |
| 247 | +#### Monitor |
| 248 | +##### User behavior tracking |
| 249 | +##### APM Performance |
| 250 | +##### WebView performance |
| 251 | +##### leakcanary |
| 252 | +#### Memory optimization |
| 253 | +##### OOM |
| 254 | +##### Memory leak |
| 255 | +##### Image compression |
| 256 | +##### Memory Analysis |
| 257 | +#### Reduce app size |
| 258 | +#### Battery optimization |
| 259 | +#### Network optimization |
| 260 | +##### Network Debug |
| 261 | +##### Low Network solution |
| 262 | +##### API optimization |
| 263 | +##### Optimize network data usage |
| 264 | +### Continuous Integration |
| 265 | +#### Jenkins |
| 266 | + |
| 267 | +## 8. Others |
| 268 | + |
| 269 | +### Python |
| 270 | +### Linux |
| 271 | +#### kernel source code |
| 272 | +#### SELinux |
| 273 | +#### Memory Map |
| 274 | +### Docker |
| 275 | + |
| 276 | +## 9. Android Books |
| 277 | + |
| 278 | +### 入门 |
| 279 | +#### 第一行代码 |
| 280 | +#### Android群英传 |
| 281 | +#### Android编程权威指南 |
| 282 | +#### Android编程实战 |
| 283 | +### 进阶 |
| 284 | +#### Android开发进阶从小工到专家 |
| 285 | +#### 深入理解Android |
| 286 | +#### Android组件化架构 |
| 287 | +#### App研发录 |
| 288 | +#### Android 进阶解密 |
| 289 | +#### Android 进阶之光 |
| 290 | +### 源码 |
| 291 | +#### Android源码设计模式解析与实战 |
| 292 | +#### Android开发艺术探索 |
| 293 | +#### Creating Dynamic UI with Android Fragments |
| 294 | +### 安全 |
| 295 | +#### Android安全架构深究 |
| 296 | +#### Android软件安全与逆向分析 |
| 297 | +### 底层 |
| 298 | +#### Android系统源代码情景分析 |
| 299 | +#### Android内核剖析 |
| 300 | +#### 深入理解Android内核设计思想 |
| 301 | + |
| 302 | +## 10. Balance of Breadth and Depth |
| 303 | + |
| 304 | +### Team Management |
| 305 | +#### Agile Development |
| 306 | +#### Devops |
| 307 | +#### CodeReview |
| 308 | +#### Code Quality and Specification |
| 309 | +### Self-management |
| 310 | +### Back-End |
| 311 | +#### DDD |
| 312 | +#### Microservice |
| 313 | + |
| 314 | +## 11. Language |
| 315 | + |
| 316 | +### Kotlin |
| 317 | +### Kotlin Coroutine |
| 318 | +### C、C++(NDK) |
| 319 | +### SQL(DB) |
0 commit comments