Android advanced interviews often involve a lot of theoretical analysis and performance optimization monitoring.

S13524801 / Android-interview-record Welcome start and supplement

Android related performance optimization Java related Kotlin related Web related plug-in image related Gradle related Flutter related

Android

Android SharedPreferences internal principle analysis

Analyze the ANR problem caused by SharedPreference apply

Android source code analysis – Message queues and Looper

Android Thread, Handler, Looper, MessageQueue principle analysis

Android IntentService fully resolves when a Service encounters a Handler

Android source code analysis – introduces you to different AsyncTask

Android AsyncTask source code parsing

Android performance optimizations use thread pools to handle asynchronous tasks

Android threads and thread pools are enough

Nice for process and thread scheduling in Android

【 Thread deadlocks 】 How to avoid multiple thread deadlocks in Android

Working principle of WatchDog

“Handq Android Thread Deadlock Monitoring and Automation Analysis Practice”

Android Context completely parses all the details of the Context that you don’t know

The realization principle of LocalBroadcastManager is the same as BroadcastReceiver

Details on how to start an Activity and its flag

Analyze the Activity life cycle when switching between horizontal and vertical screens

Android source code analysis – resource loading mechanism

Android source code parsing setContentView

An in-depth look at ArrayMap in Android

An in-depth look at the strengths and weaknesses of ArrayMap

StartActivity Startup process analysis

StartService Startup process analysis

【 kay Zi brother take you to learn the Framework】Activity start process full analysis

【 Kaizige take you to learn Framework】Activity interface display full resolution

Android LayoutInflater theory analysis, take you step by step into View(a)

By the App start talking about | jaminzzhang

Android kernel development: illustrated startup process of Android system

Why did Android adopt Binder as an IPC mechanism?

Android Interprocess Communication (IPC) Binder

Binder VS socket

Binder interprocess Communication with Android

Thoroughly understand the Android Binder communication architecture

Binder anomaly resolution

ELF file format parsing

LoadLibrary dynamic library loading process analysis

Android so file loading mechanism

Analyze the format of resources. Arsc files and resources. Arsc files using ApkTool

Analysis of Toast Principle

Android I/O stuff

Learn about the Android project construction process in 10 minutes

RecyclerView performance optimization and advanced use

android mvvm architecture-samples

Lifecycle usage and principle analysis

ViewPager2 major update to support offscreenPageLimit

Summary of Android View drawing process

In-depth understanding of Android View drawing process

Thread operations in Android JNI

Android JNI Bitmap operation

Android componentization scheme and component message bus Modular – Event actual combat

Best practices for Android componentization

Principle and implementation of JSBridge in Android

Android Webview H5 seconds open scheme implementation

WebView performance, experience analysis and optimization

Fully parse the Android caching mechanism — LruCache

AndroidVideoCache Walkthrough for video caching

A comprehensive look at Google Exoplayer

The practice of design pattern in takeaway marketing business

Performance optimization

Summary of Android performance optimization context

Best practices for Android performance optimization

Explore the principle of Android GC

How the JVM works, hierarchies, and how GC works

Java memory problems and LeakCanary principle Analysis

Android Performance Optimization (11) the correct asynchronous posture

Layout optimization for Android performance optimization

Android Performance optimizations: Those rendering optimizations that can’t be ignored

Bitmap memory optimization in Android

Mobile network optimization practice of Meituan-Dianping

Dianping App short video power consumption optimization actual combat

Android storage optimization — MMKV integration and Principles

Matrix IOCanary — I/O quality monitoring

Matrix TraceCanary — First Love Catton

Matrix ResourceCanary – Activity leak and Bitmap redundancy detection

Android image loading size monitor

Meituan takeout Android Crash governance road

Understand the processing process of Android Crash

Understand Native Crash processing process

Thoroughly understand android app non-responsiveness

General routine of ANR problem analysis

ANR monitoring and information collection

Android ANR monitoring scheme analysis

Probe: Indicates an OOM fault locating component on the Android line

Android create thread source code and OOM analysis

Install Bao Li minus 1M– wechat Android resource confusion packaging tool

AabResGuard: AAB resource obfuscation tool

ZSTD high quality compression algorithm

AndroidJniBitmapOperations

Android development master class

Java related

Java thread pool usage analysis

How many ways does Java copy files? Which is the most efficient?

Use FileChannel to quickly copy files

JVM class loading process

Class loaders and parent delegate models

Java implements thread synchronization in several ways

Java Note 7: Byte streams and byte buffer streams for IO streams

Java NIO analyses

Java memory Management: Drill down into the Java memory area

After reading this article on garbage collection, you’re good to go with the interviewer

Understand ThreadLocal in Java

Understand weak references in Java

Understand Java strong references, soft references, weak references, and virtual references

The difference between heap and stack in Java

HashMap uses mutable objects as keys to tread pits

Talk about concurrency (7) – Blocking queues in Java

Delve into the java.lang.Object class

Java ArrayList, LinkedList, Vector differences

Difference between HashMap and Hashtable

HashMap, TreeMap, HashTable

You want to know the HashMap

ConcurrentHashMap summary

The Java 8 series reimagines HashMap

HashMap multithreaded loop problem

In-depth analysis of how Volatile is implemented

Java concurrent programming: Synchronized and its implementation principles

Java reflection in JVM implementation

The Unsafe and CAS

Java magic classes: Unsafe Application parsing

Java AtomicInteger principle analysis

Java concurrent programming: CountDownLatch, CyclicBarrier, and Semaphore

Understand fair and unfair locks for ReentrantLock

Java interview must ask – deadlock final chapter

Understand the read and write lock ReentrantReadWriteLock

CountDownLatch,

Understand the role of the final keyword in depth

Java CAS and ABA issues

About the class.cast method in JAVA

How do I write the singleton pattern correctly

【Java】 a try-catch-finally statement in which a return is executed in order

Binary search method implementation and application summary

Binary tree traversal (pre-ordered, middle-ordered, post-ordered)

Java minimum heap solves the TopK problem

Kotlin related

from-java-to-kotlin

kotlin_tips

Lateinit var and by lazy

Use Kotlin Reified to make generics simpler and safer

Kotlin Extension Functions implementation principle analysis

Top-level functions and properties of the Kotlin series

The biggest “pit” encountered by Kotlin compatible Java

Kotlin’s coroutine gave a hard glance

The nature of the “hang” Kotlin coroutine

What exactly is a “non-blocking” suspend? Are coroutines really lighter?

How does resource confusion affect the Kotlin coroutine

Kotlin Coroutines are fully resolved

Crack the Kotlin coroutine

Network related

In-depth analysis of HTTPS principles

HTTPS principle analysis and its use in Android

HTTP breakpoint Continuation (block transfer)

What does HttpDns work for

“Living room TV-APP HttpDNS technology access and Combat”

HttpDns access and global replacement implementation

happy-dns-android

The differences between TCP, UDP, HTTP, and SOCKET

Learn the difference between TCP and UDP

Android Live Broadcast Development Journey (7) : Android live video core technology (architecture) details

Android Best Practices – Simple WebSocket protocol

Dismantling wheel series: Dismantling Okio

Detaching wheel series: Detaching OkHttp

Android Volley fully parse (four), take you from the source point of view to understand Volley

pluggable

Android plug-in library comparison

Deep understanding of Android plug-in technology

Android plug-in – ClassLoader source code analysis

Android hot patch Tinker principle analysis

Android plug-in principle analysis — Hook mechanism dynamic proxy

Android dynamic proxy and Hook mechanism in detail

MultiDex working principle analysis and optimization scheme

Android a multi-dex load optimization scheme in Dalvik VIRTUAL machine

ART feature improvements in Android 8.0

DEX, ODEX, OAT file &Dalvik and ART virtual machine

Analysis of art dex2OAT loading acceleration

Android ART Runtime (1) – Background

Android ART Runtime (2) — Dex2OAT

Profile Android ART Runtime (3) – Compilerb

Process analysis of seamless replacement of Dalvik VIRTUAL Machine at Android ART runtime

Getting Started ART VM (1) load the DEX file

Getting started ART VM (5) – OAT file

Android runtime ART load OAT file process analysis

Android App Bundle Construction Process Analysis

System-level plug-ins? Analysis of Google’s new dynamic framework Android App Bundles

An in-depth look at the new Android feature App Bundles

Dynamic solution exploration based on Android App Bundle

Qigsaw – dynamic modularization library

The picture related

Explore the internal implementation of Fresco image frames

Thoroughly understand the macro principle analysis of GLIDE V4

WebP principle and Android support status

Concentrate is the essence: Brief analysis of GIF format image storage and compression

Efficient loading of large bitmaps

Android hd loading giant image scheme refuses to compress images

Analysis of Lottie animation principle

The story behind SVGA

Gradle related

Android Gradle Plugin source code analysis

Android Gradle Plugin source code read and compile

Improving Android Build Performance

Using Gradle’s Worker API to reduce build time

Gradle learns from the Transform API of the Android plugin

Android AOP three musketeers AspectJ

Android AOP APT for three musketeers

Android AOP three swordsmen Javassist

Chapter-ASM – Android Development Master Course

matrix-gradle-plugin – matrix

Android Lint Incremental scanning combat Summary

Log framework Hugo for easy performance analysis

WMRouter: Meituan Takeaway Android open source routing framework

ARouter – A componentized routing framework for Android App

Didi Open Source Booster: Mobile APP quality optimization framework

Flutter related

Flutter principle and practice

The Secret of Flutter Hot Reload

Explore the dynamics of Flutter

How does Flutter communicate with Native -Android perspective

Gain insight into the Flutter Platform Channel

The compilation of the Flutter Engine refers to north

The Flutter Engine thread model

In-depth understanding of Flutter multithreading

Flutter state management – A preliminary study and summary

Flutter | state management guide – the Provider

In-depth understanding of Flutter application startup

Flutter rendering mechanism – UI thread

Flutter rendering mechanism — GPU thread

In-depth understanding of Flutter application startup

In-depth understanding of the setState update mechanism

Gain insight into the Flutter messaging mechanism

In-depth understanding of Flutter animation principles

Dart VM operating principles

Read the source of Flutter Tools mechanism

Read the Flutter run mechanism

Fultter App is international/multilingual

Flutter Douban client