Android 高级面试经常会有很多原理分析,以及性能优化监控相关,列出一些高频知识点仅供参考。
s13524801/android-interview-record 欢迎 start 以及补充
Android 相关
Android之SharedPreferences内部原理浅析
Android源码分析-消息队列和Looper
Android源码分析—带你认识不一样的AsyncTask
Android性能优化之使用线程池处理异步任务
Android Context完全解析,你所不知道的Context的各种细节
LocalBroadcastManager 的实现原理,与 BroadcastReceiver 异同
Android进程间通信(IPC)机制Binder简要介绍和学习计划
Activity的启动方式和flag详解
Android源码分析-资源加载机制
Android中Thread、Handler、Looper、MessageQueue的原理分析
Android 源码解析 之 setContentView
Android AsyncTask 源码解析
Android IntentService完全解析 当Service遇到Handler
深入剖析 Android中的 ArrayMap
深度解读ArrayMap优势与缺陷
startActivity启动过程分析
startService启动过程分析
【凯子哥带你学Framework】Activity启动过程全解析
【凯子哥带你学Framework】Activity界面显示全解析
Android LayoutInflater原理分析,带你一步步深入了解View(一)
由App的启动说起 | jaminzzhang
Android内核开发:图解Android系统的启动过程
为什么 Android 要采用 Binder 作为 IPC 机制?
Binder VS socket
写给 Android 应用工程师的 Binder 原理剖析
Android跨进程通信:图文详解 Binder机制 原理
Android 线程和线程池一篇就够了
剖析Android中进程与线程调度之nice
ELF文件格式解析
【android】动态链接库so的加载原理
通过ApkTool分析resources.arsc文件以及resources.arsc文件的格式
Toast 原理剖析
Android I/O 那些事儿
10分钟了解Android项目构建流程
RecyclerView源码分析
android mvvm architecture-samples
ViewPager2重大更新,支持offscreenPageLimit
Android View的绘制流程知识点总结
深入理解Android之View的绘制流程
Android JNI 中的线程操作
Android JNI 之 Bitmap 操作
Android组件化方案及组件消息总线modular-event实战
Android 组件化最佳实践
Android Webview H5 秒开方案实现
WebView性能、体验分析与优化
视频缓存AndroidVideoCache攻略
Google Exoplayer之全面认识
性能优化
Android性能优化来龙去脉总结
Android 性能优化最佳实践
Android GC 原理探究
JVM 的工作原理,层次结构以及 GC 工作原理
Java内存问题及 LeakCanary 原理分析
Android性能优化(十一)之正确的异步姿势
Android 性能优化之布局优化
Android性能优化:那些不可忽略的绘制优化
Android中Bitmap内存优化
美团点评移动网络优化实践
大众点评App的短视频耗电量优化实战
Android 存储优化 —— MMKV 集成与原理
Matrix IOCanary -- I/O 质量监控
Matrix TraceCanary -- 初恋·卡顿
Matrix ResourceCanary -- Activity 泄漏及Bitmap冗余检测
安装包立减1M--微信Android资源混淆打包工具
AabResGuard: AAB 资源混淆工具
zstd 高质量压缩算法
AndroidJniBitmapOperations
Android图片加载尺寸监控
美团外卖Android Crash治理之路
理解Android Crash处理流程
理解Native Crash处理流程
Android开发高手课
Java 相关
Java 四种线程池的用法分析
Java有几种文件拷贝方式?哪一种最高效?
使用FileChannel(文件通道)来实现文件快速复制
JVM类加载机制详解(一)JVM类加载过程
JVM类加载机制详解(二)类加载器与双亲委派模型
Java实现线程同步的几种方式
java笔记七:IO流之字节流与字节缓冲流
Java内存管理:深入Java内存区域
看完这篇垃圾回收,和面试官扯皮没问题了
理解Java中的ThreadLocal
理解Java中的弱引用
理解Java的强引用、软引用、弱引用和虚引用
Java中的堆和栈的区别
HashMap 用可变对象作为 key 踩坑
聊聊并发(七)——Java中的阻塞队列
深入研究java.lang.Object类
Java ArrayList、LinkedList、Vector的区别
HashMap和Hashtable的区别
HashMap、TreeMap、HashTable区别
HashMap深度分析
Java最小堆解决TopK问题
如何正确地写出单例模式
HashMap多线程死循环问题
深入分析Volatile的实现原理
ConcurrentHashMap总结
Java 8系列之重新认识HashMap
Java并发编程:Synchronized及其实现原理
Java反射在JVM的实现
Unsafe 与 CAS
Java魔法类:Unsafe应用解析
Java AtomicInteger原理分析
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
理解ReentrantLock的公平锁和非公平锁
Java面试必问-死锁终极篇
深入理解读写锁ReentrantReadWriteLock
CountDownLatch详解
深入理解final关键字的作用
Java CAS 和ABA问题
聊聊并发(一)——深入分析Volatile的实现原理
关于JAVA中的Class.cast方法
Java的Comparator升序降序的记法
【Java】try-catch-finally语句中return的执行顺序思考
二分查找法的实现和应用汇总
Kotlin 相关
from-java-to-kotlin
kotlin_tips
从原理分析Kotlin的延迟初始化: lateinit var和by lazy
使用Kotlin Reified 让泛型更简单安全
Kotlin里的Extension Functions实现原理分析
Kotlin系列之顶层函数和属性
Kotlin 兼容 Java 遇到的最大的 “坑”
Kotlin 的协程用力瞥一眼
Kotlin 协程「挂起」的本质
到底什么是「非阻塞式」挂起?协程真的更轻量级吗?
资源混淆是如何影响到Kotlin协程的
Kotlin Coroutines(协程) 完全解析
破解 Kotlin 协程
网络相关
深度解析HTTPS原理
HTTPS 原理浅析及其在 Android 中的使用
HTTP 断点续传(分块传输)
HttpDns 原理是什么
《客厅TV-APP HttpDNS技术接入与实战》
HttpDns接入以及全局替换的实现
happy-dns-android
TCP、UDP、HTTP、SOCKET之间的区别
一文搞懂TCP与UDP的区别
Android直播开发之旅(7):Android视频直播核心技术(架构)详解
Android最佳实践——深入浅出WebSocket协议
拆轮子系列:拆 Okio
拆轮子系列:拆 OkHttp
Android Volley完全解析(四),带你从源码的角度理解Volley
插件化
Android插件化库比较
深入理解Android插件化技术
Android 插件化 -- ClassLoader 源码分析
Android热补丁之Tinker原理解析
Android插件化原理解析——Hook机制之动态代理
Android 动态代理与Hook机制详解
MultiDex工作原理分析和优化方案
Android 一种在Dalvik虚拟机上多Dex加载优化的方案
Android 8.0 中的 ART 功能改进
DEX、ODEX、OAT文件&Dalvik和ART虚拟机
art dex2oat 加载加速浅析
剖析 Android ART Runtime (1) - 背景知识
剖析 Android ART Runtime (2) – dex2oat
剖析 Android ART Runtime (3) – Compilerb
Android ART运行时无缝替换Dalvik虚拟机的过程分析
入门ART虚拟机(1)——加载DEX文件
入门ART虚拟机(5)——OAT文件
Android运行时ART加载OAT文件的过程分析
Android App Bundle 构建流程浅析
系统级插件化?Google全新的动态化框架Android App Bundles分析
深入解读Android新特性——App Bundles
基于Android App Bundle的动态化方案探索
Qigsaw - dynamic modularization library
图片相关
Fresco图片框架内部实现原理探索
彻底弄懂 GLIDE V4 之宏观原理分析
WebP原理和Android支持现状介绍
WebP 技术原理及应用
浓缩的才是精华:浅析 GIF 格式图片的存储和压缩
高效加载大型位图
Android 高清加载巨图方案 拒绝压缩图片
Lottie 动画原理剖析
SVGA 背后的故事
Gradle 相关
Android Gradle Plugin 源码分析
Android Gradle Plugin 源码阅读与编译
Improving Android Build Performance
Using Gradle's Worker API to reduce build time
Gradle 学习之 Android 插件的 Transform API
Android AOP三剑客之AspectJ
Android AOP三剑客之APT
Android AOP三剑客之Javassist
Chapter-ASM - Android 开发高手课
matrix-gradle-plugin - matrix
Android Lint增量扫描实战纪要
便于性能分析的日志框架hugo
WMRouter:美团外卖Android开源路由框架
ARouter - Android App 进行组件化改造的路由框架
滴滴开源 Booster:移动APP质量优化框架
Flutter 相关
Flutter原理与实践
揭秘Flutter Hot Reload(原理篇)
Flutter 动态化探索
Flutter如何和Native通信-Android视角
深入理解Flutter Platform Channel
Flutter Engine 编译指北
Flutter Engine 线程模型
深入理解Flutter多线程
Flutter状态管理 - 初探与总结
Flutter | 状态管理指南篇——Provider
深入理解Flutter应用启动
Flutter渲染机制—UI线程
Flutter渲染机制—GPU线程
深入理解Flutter应用启动
深入理解setState更新机制
深入理解Flutter消息机制
深入理解Flutter动画原理
Dart虚拟机运行原理
源码解读Flutter tools机制
源码解读Flutter run机制
Fultter App 国际化/多语言
Flutter豆瓣客户端