Regardless of job hunting or job hopping, I will not allow you to not know TA

insert image description here

It has been almost a year since I switched to framework development, and I have a certain view on this industry. This year, I also saw that many small partners who do application development are facing a crisis of layoffs. Of course, I know and hope to know more about framework development, so I took advantage of my spare time at work. Besides, let's talk about
the framework. Framework is closely related to our Android programmers whether they are job hunting or job hopping.

1. What is Framework?

The Android Framework is the core part of the Android operating system. It provides a series of APIs for application developers, making it easier for developers to develop feature-rich applications. Framework mainly includes the following parts:

  1. Four major components: Activity, Service, BroadcastReceiver and ContentProvider
  2. System resources: such as layout, string, color, size, etc.
  3. Event processing: such as touch, button, gesture, etc.
  4. System services: such as notifications, location, calls, text messages, etc.

2. What Framework can bring to you

  1. Improve development efficiency

Proficiency in the API and components of the Framework can help programmers quickly complete application development and improve development efficiency. At the same time, Framework provides a series of rich system resources and services, so that developers can focus more on the implementation of business logic without worrying about the underlying implementation.

For example, if you understand the startup mechanism of Android App, it will be easier to optimize the startup speed:

What kind of StartingWindow can be customized; when can the width and height of the picture be obtained; how to do DelayLoad is more appropriate; when does the Service start without affecting the startup speed; is it really visible when the Activity onResume is called back? Why does Redex speed up app startup?

Another example is the Handler, MessageQueue, and Looper we often talk about. You can better understand those concepts by looking at the source code: what does ThreadLocal do; the relationship between Thread and Handler; why can't the UI be updated in the child thread?

Another example is Android's process management mechanism. AMS sets different priorities for the Android process according to certain rules. When the memory is low, high-priority apps are less likely to be killed by the system than low-priority apps! So what rules does AMS follow to set priorities? Can understanding these rules improve the survival rate of the App? This can all be known by familiarizing yourself with the AMS code.

Another example is the mode of Activity startup. You may be proficient in using various modes, but if you learn the management of Activity and process in Framework, you know the management of Activity stack and Task. Then you will use this startup mode more deeply.

  1. Facilitate code reuse and modularization

Framework provides a series of common components and APIs, enabling developers to reuse the same code in different projects, improving code maintainability and scalability. In addition, Framework also supports modular development, allowing developers to develop different functional modules independently, thereby reducing project complexity.

3. Job hunting, job hopping, career change, you can't live without it as an Android programmer

Enterprises are more and more interested in a programmer's understanding and thinking about the bottom layer of Android when screening Android programmers. The bottom layer here is mainly the operating principle of each component in Android Framewok, such as the operating mechanism of Binder, the role of ServiceManager, and so on.

In the Android interview, questions about Framework are a must

And whether it's Android development or vehicle or video algorithms . . . . And so on,
all need to use the framework technology.

at last

Facing the current severe situation, we need to calm down and think carefully, plan carefully, guard against arrogance and impetuosity, and step by step. If you don't want to roll up application development, or want to stay on the road of application development, framework learning is necessary.

If there is no such information, here is a share of Android Framework source code development secret

Due to the excessive content of the document, in order to avoid affecting everyone's reading experience, only some of the content is shown here with screenshots, and there is a free way to obtain the full version at the end of the article! (At the end of the article, there is also a small benefit of using the ChatGPT robot!! Don’t miss it)

"Android Framework Source Code Development Secret"

This learning manual deeply analyzes the Android system source code, explains in detail the initialization process of the Android framework and the working principle of the main components, and aims to introduce the core concepts and technologies of the Android Framework through examples and cases, so as to help developers better understand Android applications Program design and development. This manual is suitable for programmers with certain experience in Android application development, hoping to help developers better understand and master this technology through in-depth study of Android Framework.

img

Chapter 1 System Startup Process Analysis

The complete startup process of the Android system can be divided into three stages: the Linux system layer, the Android system service layer, and the Zygote process model from the perspective of the system level; knowledge points:

The first section Android startup summary,

The second section init.rc analysis,

Section III Zygote,

Section 4 Interview Questions

img

Chapter 2 Cross-process Communication IPC Analysis

As a mechanism for Android inter-process communication, Binder can be regarded as a driver. In Android, common inter-process communication such as system class: phone calls, alarm clocks, etc.; self-created: like WebView, video playback, audio playback, large image browsing, etc.

img

Chapter 3 Handler Source Code Analysis

Section 1 Source Code Analysis

Difficult questions in the second quarter

Section 3 Handler Frequently Asked Interview Questions

insert image description here

A WeChat group chat robot based on chatGPT was built to answer difficult technical questions for everyone 24 hours a day. If needed, you can scan the QR code to join the group.

picture

Guess you like

Origin blog.csdn.net/Android_XG/article/details/131938904