If you want to change jobs and get a salary increase, are you ready to get Framework?

Android is still okay at this stage in 2023, but junior development is not as popular as before. The junior market is saturated, but talents for mid- and senior-level positions are still relatively scarce.

We Android programmers, like other programmers, become more anxious every year, especially in the environment that has become worse and worse in recent years. Many programmers are at a loss as they face the approaching midlife crisis and don't know what to do. Some people choose to change careers, while others continue to live in confusion and worry every day. But I name a way out for us Android programmers.

Our Android development is different from other development. Programmers with intermediate development and above are in urgent need of positions in the market. Even under the impact of the epidemic, the Android system still has the highest market share in the world! As well as a series of peripheral products derived from the Android system, such as vehicle systems, face recognition systems, smart home appliances, and smart robots, there is still a lot of room for development. Android development still has a huge demand in the market.

Therefore, as long as we Android developers understand the underlying principles, understand the system core, and improve our own technology, we will have greater benefits than other programmers.

As an Android developer, how does the Framework layer help my work?

In fact, nothing else is needed. If you go to Github and look at the source code of Tencent Matrix, you will know how important the knowledge of Framework is. Things like frame drop monitoring, function instrumentation, slow function detection, ANR monitoring, and startup monitoring all require a deep understanding of the Framework to know how to monitor, what mechanism to use for monitoring, where to insert function instrumentation, and reflection Which class, which method and which attribute should be called for reflection...

In addition, the Framework, as the Android framework layer, provides many APIs for the App to call, but many mechanisms are packaged by the Framework for the App to use. If you do not know the principles of these mechanisms, it will be difficult to optimize on this basis.

Many high-paying jobs now require familiarity with the Framework, and unlike Android application development, which is easily replaced, system development can give you a high-paying and stable job.

Android framework development salary

Insert image description here

Here is a copy of "Android Framework Compiled Kernel Analysis" compiled by Tencent architects, including system startup process, Binder, Handler, WMS, AMS, etc. Each section is accompanied by detailed relevant code and analysis. This is the best tool for us to learn to organize code or think about some architectures.

Due to length reasons, this article selects a few chapters. Click to get the detailed version for free.

Getting Started with Android Framework

Insert image description here

Android framework refined kernel

Chapter 1, in-depth analysis of Binder

Binder is an IPC mechanism provided by the Android system. Whether you are engaged in system development or application development, you should understand it. This is the most important component of the Android system, and it is also the most difficult piece of knowledge to understand. It is intricate. To understand the Binder mechanism in depth, the best way is to read the source code and borrow a sentence once said by Linus Torvalds, the originator of Linux: Read The Fucking Source Code.

Chapter 2, in-depth analysis of Handler message mechanism

The contents analyzed in this article roughly include the following modules:
● What problems did developers want to solve when they first designed Handler
● What functions does Handler provide us and how to use it
● Theoretical analysis of Handler implementation principles
● Source code analysis of Handler implementation principles
● Special operations of Handler in Android Ul thread

Chapter 3, Dalvik VM process system

Andorid system startup, init process, Zygote, SystemServer startup process, application creation and use, Activity creation, destruction Handler and Looper.
Insert image description here

Chapter 4, in-depth analysis of WMS

WMS is another service of the system. It is the key knowledge for both application development and Framework development. It has many responsibilities, mainly as follows:

  1. Window management
    ● WMS is the manager of windows. It is responsible for starting, adding and deleting windows. In addition, the size and level of windows are also managed by WMS. The core members of window management are: DisplayContent, WindowToken and WindowState.
  2. Window animation
    ● When switching between windows, using window animation can make it look cooler. Window animation is responsible for the animation subsystem of WMS. The administrator of the animation subsystem is: WindowAnimator
  3. The transfer station of the input system
    ● Touch events are generated through contact with the window. InputManagerService (IMS) will process the touch events. It will find the most suitable window to process the touch feedback information. WMS is the manager of the window. Therefore, WMS As it should, it has become a transfer station for the input system.
  4. Surface management
    ● Windows do not have the function of drawing, so each window needs a Surface for its own drawing. Allocating Surface to each window is done by WMS

Guess you like

Origin blog.csdn.net/m0_70748458/article/details/130488023