Android core analysis (1)-design intent of analysis methodology

Source: Internet
Author: User

Design intent of Analysis Methodology Discussion

Why studyAndroidBecause it is huge enough and complicated enough, he stirred me up asProgramMembers desire to understand this complexity. I am studying Mobile Phone development platforms.AndroidSoftware system, ratherDalvikVirtual Machine itself.

As a programmer installed from other platforms Andoid Platform System Development, my accumulated knowledge on the mobile phone platform can no longer meet the needs, Android It brings us a lot of new terms, Activity , Manifest , Intent , Service , Binder , Dalvik Virtual Machine, Framework , Linux , Navtive
, JNI ..... . InSource codeIn developmentCommunityI am constantly seeking for blog development, and even recruitment Android What is it. After a certain period of time, I gradually understood Android It is not just a general term for a type of mobile phone, it is not just a mobile phone development platform, it is not just a virtual Java The operating system is not only a development community, but also a development standard.Code, Android It has become a new trend.

The code is large and the system is complex.AndroidResearchers, starting from source code analysisAndroidAs a result, the company is moving towards a Lost Path, constantly logging on to the mountains, and sprinting in depth. In the end, the head stack is not enough, and the journey is lost, or there are few accessors on the way. I feel that most of the researchers always forget to look down at the designer's intent on the mountain, blindly following the control flow of the Code into the complicated mystery, and fall into the abyss of complexity.

My research and analysis start from the intent of the designer, from the abstract or even from the philosophical height, from the simplest system prototype, from the design conjecture, instead of starting from code analysis. First understandingAndroidA large operating framework, a main process, and a system prototype, and then use source code analysis to enrich it. Of course, the intent of the designer here is not true.AndroidThe intent of the designer is what I thinkAndroidThe intent of the designer.

Abstract. We need to consider the system description in the space of philosophical meaning, that is, what the system is essentially to express. Consider the basic structure and dynamic structure of the system in the logical space. From reality to virtual object ing, we can understand the composition of system objects and analyze the relationship between consumers and consumers from the perspective of data flow, analyze the interaction between objects from the control flow perspective, and analyze the specific hierarchy from the function call.

In system design, prototype is the thing that best expresses the essence of the system in philosophical space and logical space. prototype is the first layer of the essence of things. I think any complicated system has a concise system prototype, which has its concise meaning. The system prototype is the first embodiment of the designer's intention, so we need to extract the system prototype from several directions:

(1) Starting from the nature and basic principles of the system

(2) Analyzes the data flow and control flow of the system.

Starting from the intent of the designer, it is the first step to obtain the system prototype and extract the large logical structure and system structure. Then we can consider the design of the system from the perspective of the designer. What is the basic prototype? What are the limitations of the system, what are the application scenarios, and the introduction of some designs is still the result of System convergence. We can also analyze the code traces. How did these concepts come from? Understanding these problems from a certain degree of abstraction and height and following the principle of system prototype, it is not easy to get into details when analyzing code in depth. We can jump out and think at any time, what is the concept of the Code in the overall upload, what logic is depicted, does it need to form a virtual layer? Is he managing this hardware? He
Virtual object? He is building a management organization? Or building an object management? Space management, in order to quickly introduce what kind of complexityAlgorithmIn fact, what is the prototype algorithm?

Only by going deep into this abstract level can we grasp every line of the system and the meaning of every object. Just starting from the prototype can we grasp the essence of this system. What are we doing? What does he want to express? Why do designers think this way? What is the ultimate idea? In this way, the code analysis becomes simple and clear, and the reading of the Code becomes a confirmation of conjecture and correction direction.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.