1. Frame source code + use

  • Okhttp source
    • Synchronous asynchronous processing
    • Chain of responsibility
    • The cache
    • The connection pool
  • retrofit
    • A dynamic proxy
    • Source summary
  • The use of Rxjava
    • Mp of the connection
    • Function of image stabilization
    • The callback unified
    • thread
    • Source code analysis
  • Understand the principle (source code)
    • gson
    • glide

2. Four components

  • activity
    • The life cycle
    • Startup Mode (Application scenarios of startup mode)
    • Life cycle in scenario switch
  • service
    • Two kinds of state
    • Three kinds of binding
    • The life cycle
    • Communication mode
  • Broadcast
    • The main role
    • Principle of broadcasting
    • use
    • There are two ways to register
    • Broadcast execution sequence
  • ContentProvider
    • The principle of
    • use

3. The View

  • View event distribution
    • process
    • Different events
    • ACTION – the CANCEL mechanism
  • Resolution of sliding conflicts
  • How a View works
  • The custom view
  • recyclerview
    • The cache
    • It’s a little bit different than listView
  • listview
    • To optimize the
    • How to implement caching
  • View The effect of several tags
  • The view animation

4. The Android based library

  • mvp.mvc.mvvm
  • Fragment
    • The life cycle
    • Fragments of communication
    • fragment
  • Handler
    • Four roles
    • The working process
    • Difference between SendMessage and POST
    • The source code
    • Implementation of delayed requests
  • Data storage in Android
    • Sharedpreferences
    • File storage

5. Android new dynamic

  • jetpack
  • componentization
  • pluggable
  • Hot repair
  • flutter
  • RN
  • Updates from Android5.0 to 10.0

6. Other Android issues

  • Androidoom scenario
  • Android Performance Optimization
  • Android performance optimization tool
  • Apk internal energy
  • Android Packaging Process
  • ANR principles and causes

Ii.Android framework layer

  • jni
  • Boot process
  • Click apply to screen display
  • Ims for event distribution
  • Four components for startup
  • The view of the rendering
  • Smart Pointers
  • Binder mechanism
    • Cause of Binder mechanism
    • Binder kernel
    • BinderManagerService
    • Register services and obtain services
  • The Audio system
  • Surface system

How to become an Android Senior Architect!

The architect must be able to think abstractly and analytically, which are essential qualities for your systems analysis and system decomposition. Only with this ability can the architect see the whole system and control the overall situation, which is also the foundation of the architect’s big picture view. How do you acquire this ability? One comes from experience and the other comes from learning.

Architects should have experience not only in the problem domain, but also in the software engineering domain. That is, the architect must be able to understand the requirements accurately and then translate and decompose them to a level that can be implemented in a computer language using software engineering ideas. The accumulation of experience is a time process, this process can not help you, you need to go through.

However, you can shorten this cycle if you consciously cultivate and constantly learn from previous experience. This is one of the initial motivations for me to organize architects into this series.


Essential knowledge and skills to be an Android architect

Study notes corresponding to the map (handwritten by Ali P8 Daniu and sorted into PDF notes by me)

Part of content display

Open Source Frameworks in Design

  • directory
  • Thermal repair design
  • Plug-in framework design 360° All-round Performance Optimization
  • Design ideas and code quality optimization
  • Program performance optimization

This article is in the open source project:GitHubHas been included, which contains different directions of self-study programming routes, interview questions set/interviews, and a series of technical articles, etc., resources continue to update…