Android 高级面试高频知识点

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豆瓣客户端

推荐阅读更多精彩内容