Awesome Open Source
Awesome Open Source


Read the source code plan for the interview



关于 issues label 的说明

  1. CONCEPT:纯概念介绍,需要记住
  2. USAGE:偏重用法,与 Source Code 相对应
  3. Source Code: 文章偏重源码分析,可能存在部分源码
  4. AMA: ask me anything, 尽最大努力回答
  5. TODO, DOING:文章进度相关



增加一个栏目:收集常用的 Java 和 Kt 的工具类,一直更新,欢迎提 PR 补充

Android: Multi Module Structure:Android 项目的模块,目录结构搭建经验分享。

JavaUtils: 常用的 Java 工具类

KotlinUtils: 常用的 Kt 工具类


Kotlin: 基本使用和其原理

Kotlin Coroutine: Kotlin 协程简介


GC And Algorithm: 垃圾回收和相关算法

JMM, JVM, Java Class Model:JVM 内存结构,Java 内存模型(JMM), Java 对象模型

HashMap:Core source code analysis : HashMap 源码分析

Java Thread: Java 线程和并发知识总结

Java common collections: Java 常用集合和并发结合总结

Java LocK: java 各种锁总结


Interaction between Native and js: Android native 和 JS 交互

Android apk packaging process and signature algorithm: Android 打包流程和签名概述

Android Multi Thread:多线程介绍

TouchEvent : 事件分发传递机制

Handler:Android Message Model : handler 通信机制

View: draw process: View 和绘制流程

Android Invalidate() And RequestLayout():invalidate 触发屏幕绘制的分析

Activity: Lifecycle and Launch Mode: 生命周期和启动模式实例

SparseArray and ArrayMap: 省内存的数据结构,代替 HashMap

Android Screen refresh mechanism:屏幕刷新机制

Android ByteDance Screen Adaptation:头条屏幕适配方案

Android Animation Summary :动画相关知识总结

Android Plug-in and Hotfix Summary:插件化和热修复原理

Android SurfaceView And TextureView :SurfaceView 和 TextureView 的对比

Android Version Diff : 6-10 Android 各版本的差异

Android Root Check: 如何判断 Android 是否被 root

Andorid IME:Custom KeyBoard: 自定义键盘的相关内容

Android Adb Shell Command Record:Android adb 命令的相关使用和调试

Android:Drawable And Bitmap:Android Drabable 和 Bitmap 的关系

Android:Intent and startActivity:Android 中打开另一个 Activity 的可行性验证


Android Service: service 的基本概念和使用

Android Fragment : fragment 基本介绍:懒加载


关键字:AAC LifeCycle, ViewModel, Livedata

AAC: LiveData

AAC: ViewModel

AAC: LifeCycle

Optimization: 优化

Android Performance Optimization Tool: 性能优化工具总结

Android UI Optimization: UI 优化

Android Memory Optimization: 内存优化

Android WebView Optimization: webview 使用优化

Android RecyclerView Optimization: RecyclerView 使用和优化

Android Bitmap Efficient Load : 如何有效加载Bitmap 大图

Android Network Optimization: 网络检测和弱网优化

Android ANR Summary:Android ANR 总结


Activity: Lifecycle and ActivityThread:Android 启动过程中的生命周期方法调用

ActivityThread: app launche flow: App 启动流程分析


Binder:Binder 跨进程通信机制

Third Module

Glide:The loading process of the main flow: Glide 图片加载框主流程分析

OKhttp(1): Basic usage and wiki: okhttp 官方指导和使用概述

OKhttp(2): Main Flow Analysis: okhttp 主流程源码分析

retrofit2: Restful API 请求框架 retrofit2 源码分析

Arouter: Main Process: 组件化工具 Arouter 主流程分析

Logger:Powerful logging library in Android: 强大的日志库介绍

When Android meets KTX: Android kotlin 好用的扩展

LeakCanary Principle: LeakCanary 的基本原理分析:弱引用


when you type url into your browser and hit enter?: 浏览器输入地址回车之后发生了什么

HTTPS: 概念介绍

LeetCode 题解

rice-noodles:按顺序的 LeetCode 解题项目,使用 Kotlin,欢迎使用其他语言,一起刷题

Android Interview

Android 高级面试题目和答案


Android工程师的面试指难: 重数据结构和算法

史上最全的Android面试题集锦 Android 面试之必问Java基础 Android 面试之必问Android基础 Android 面试之必问高级知识点 Android 面试之必问性能优化 Android 面试之开源库面试题

Android中高级面试题合集,含答案 Android中高级面试题 Android 框架和kotlin

深入分析优化和框架源码: 掘金 灯不利多

深入RecyclerView学习—缓存机制 自定义 LayoutManager,让 RecyclerView 效果起飞

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Java (392,633
Kotlin (47,839
Optimization (8,379
Interview (5,122
Okhttp (1,719
Aac (847
Surfaceview (196
Textureview (118