Editor's note:The IOS/Android devcamp and cmdn mobile developer club cool summer carnival will be held in Crowne Plaza Beijing, New Yunnan, on March 13, July 27 and July 28. In order to achieve no harm, no goods, this Conference is mainly for iOS and Android first-line technology and developers. During the period before the opening of the Conference, we will interview some important lecturers and mysterious developers to provide some excellent content in advance. In this interview, we were interviewed by Wang Wenjun, chief architect of Xiaomi technology.
Instructor profile:Wang Wenjun, chief architect of mi ui of Xiaomi technology, and author of UCC of the open-source C compiler project.
Topic introduction:Android program compilation, installation, and running. This article explores the programming abstraction provided by the Android system from the programmer's point of view and discusses the Android system structure from the entire life cycle of the program.
Edit: the topic of your speech is Android program compilation, installation, and running. What is the relationship between the three? Is it a link or something?
Wang Wenjun:In fact, we want to analyze this process from the programmer's perspective. For example, if you develop a program, you must first write a program, then compile it, And then compile and install it on the Android system to run it. From this entire process, let's talk about how the Android system works. This entire process is used to study the Android system structure.
Android compilation is not the same as normal compilation. Although we all know that android is based on Java, it is different from the Java program on the ordinary desktop. It has two types of Compilation: code and resource. He has this concept of code and resource separation. During compilation, I want to talk about how resource compilers package resources and code together. The installation involves how the entire android system manages these applications and how to manage these packages. The final operation is to show how Android hides the organizational components of a program, encapsulates it, and finally enables the program to run through the encapsulation mechanism. I mainly want to talk about the entire android architecture through these three points. The content is wonderful.
If you can understand how a system works, it is helpful for you to write things. In particular, a general Android programmer may take some examples to write. However, he does not understand why these mechanisms are written in this way. This knowledge is helpful from within our mumi R & D team.
Edit: In your understanding, what kind of structure is Android?
Wang Wenjun:First, Android is based on the Linux kernel. It has a Dalvik Virtual Machine on Linux. Next, we call it the JNI layer, that is, it is a channel for Java virtual machine, C, and Linux communications. Next, we generally say that the Android system actually refers to this layer. It has some system services, such as program installation package management, installation and the entire program running. Because Android encapsulates users and programs are not the concept of programs. It encapsulates some concepts based on the processes provided by Linux. Android development is not just Java code. From this perspective, when do developers need to work with JNI and C when to write Android programs?
Code. Understanding the structure of Android is helpful for everyone's better Android development practices.
Edit: For miui, for example, what kind of processing process will the user have for feedback? For example, if I found a bug reported in a forum, I think the response is fast?
Wang Wenjun:In bug solving, there is generally no hard practice requirement, but in principle we should not be more than a week.
Now we have an honorary developer. We will recruit some experts on the Forum to think of him as a tester, but they are familiar with Android. They will perform the first round of Filtering for user response questions. For example, they can answer some very simple questions that I cannot find this setting item. There are some real bugs that they think are bugs in our programs, and then feedback to us in a place called the development zone. In our development area, there is a dedicated person in charge of a module, which is very clear. The person in charge must go to the website every day. We require a response rate of more than 90%. You have to reply to these questions. We have been working on the forum for a small amount of time. We want to talk to users about user feedback.
Cmdn club mobile developer club cool summer Carnival
During the cmdn mobile developer club event last year, we held many salons and training activities. We have always wanted to plan a pure technical meeting that truly belongs to mobile developers. IOS/Android devcamp provides developers with the opportunity to learn and communicate, answer questions for you, improve technical capabilities for a specific aspect, and share your successful development experience. What's important: at our IOS/Android devcamp conference, you won't be able to see investors, market personnel, gimmicks, and even the "Soy Sauce" bots. We guarantee that participants are developers and engineers with development experience. Okay! Time: January 1, July 27, July 28. Location: Crowne Plaza Beijing New Yunnan. We will not scatter it!
Register now>
This article is an original csdn article and cannot be reproduced without permission. If you need to reprint please contact market@csdn.net.
Responsible editor: Zhang Ning
Http://articles.csdn.net/plus/view.php? Aid = 2807054.