One, foreword
,
,
Ii. Self-introduction & project experience
2.1 Self-Introduction
,
,
,
,
,
2.2 Project Experience
,
,
,
,
,
,
2.3 Problems encountered
,
,
,
,
Third, knowledge reserve
,
,
,
,
3.1 Java Basics
,
· Object class: several key functions of Object class, constant pool concepts involved in String, serialization & deserialization.
,
final
static
,
class
,
,
,
,
,
,
,
,
,
,
3.2 Android basics
· Dalvik and Art virtual machines
· Activity: life cycle, launchMode.
· Fragment: Lifecycle, lazy loading, the difference between two types of Adapter.
· BroadcastReceiver: basic concept, broadcast classification and permissions.
· Service: life cycle, return value of onStartCommand, difference between startService and bindService, interaction between the same process and different processes, implementation principle of IntentService.
,
AsyncTask
HandlerThread
Handler
IntentService
LruCache
LinkedHashMap
SparseArray
· RecyclerView: the principle of cache, the comparison with ListView, how Adapter ADAPTS to a variety of layouts.
,
ContentProvider
SharePreference
· Compatibility problem of SDK version upgrade.
· Android permission management mechanism.
3.3 the picture
· Bitmap related: Bitmap size calculation, quality, inJustDecodeBounds, inBitmap.
,
,
BitmapRegionDecoder
3.4 algorithm
,
3.5 Open Source Frameworks
· RxJava: application scenarios of operators, internal implementation of key operators, and comparison with RxJava.
Glide: Process, cache related implementation.
· Retrofit: Process, dynamic proxy & annotation parsing.
· OkHttp: process, queue implementation, cache implementation.
3.6 performance
,
APK
,
,
TraceView
Systrace
GPU
GPU
Hierarchy Viewer
MAT
Memory Monitor & Heap Viewer & Allocation Tracker
LeakCanary
Lint
,
,
ANR
,
,
ANR reason
,
,
ANR generation process source code analysis
,
,
,
,
Trace file Analysis
,
,
,
,
,
,
ANR
,
,
,
3.7 the View
,
measure
layout
draw
,
,
View
Canvas
Path
View
3.8 architecture
· MVP: The idea of MVP & its advantages and disadvantages, application in the project,
3.9 the source code
,
AMS
,
,
WMS
,
,
Binder
,
,
,
,
APK related knowledge points
,
,
APK composition: resources.arsc composition, Androidmanifest.xml, aAPT function and principle
,
,
APK packaging process
,
,
APK installation process
,
,
Principle of APK signature & verification
,
,
Dexopt principle
,
3.10 the network
,
TCP/UDP
HTTP/HTTPS
3.11 Design Mode
23
UML
Android
3.12 a multithreaded
,
,
3.13 Gradle
,
,
3.14 the plugin,
,
,
3.15 componentization
Arouter
3.16 Kotlin
,
3.17 multimedia
,
3.18 the big front end
· ReactNative, Flutter: Those who have not learned this can learn about thoughts.
3.19 the JNI
,
Four, conclusion