本文主要为广大网友提供“专访邓凡平:深入理解Android”,希望对需要专访邓凡平:深入理解Android网友有所帮助,学习一下!
编者按:社区之星第22期采访了移动开发牛人、技术精深、乐于分享的邓凡平,他带领我们深入理解了Android系统原理。如今,他的新书《深入理解Android: Wi-Fi, NFC和GPS》发售在即,我们再次有幸采访到邓老师,来进一步探讨Android开发。
同时,邓老师也做客了我们社区问答栏目,届时会接受广大网友的提问,欢迎各位网友前来与邓老师一起碰撞思想的火花。以下为采访正文:
邓凡平(博客)毕业于中科院研究生院,资深Android开发工程师,热衷于Android源代码的研究,对Android的架构设计和实现原理有深刻的认识和理解。曾任Tieto信息技术有限公司高级软件架构师,主要负责Android系统方面的研发工作。《深入理解Android 卷I/II》作者,华章公司《深入理解Android》系列书籍总策划。此外,他对Linux内核、C/C++/Python相关的技术,以及高性能网络服务器和多核并行开发等也有一定的研究。
此外,他的新书《深入理解Android Wi-Fi, NFC和GPS》即将发售。
CSDN:请和大家介绍下你及目前所从事的工作。
邓凡平:大家好,我叫邓凡平,来自湖南。2000年进入华中科技大学水电系,所学专业是水利水电与自动化。2004年进入中科院电工研究所读硕士,研究方向是超导磁体。2007年毕业后,进入中科大洋公司。从此跨入软件开发行业,至今已经7年。曾担任Tieto公司高级软件架构师职位。目前负责Android系统方面的研发工作。
CSDN:你是一名资深Android开发工程师,热衷于Android源代码的研究,对Android的架构设计和实现原理有深刻的认识和理解,请谈谈你对Android系统的认识?
邓凡平:Android分为几个层次,首先是Kernel层,它用得是LinuxKernel。然后是用户空间中的Framework层。最后是Application层。Android的核心内容大部分集中在Framework层,我个人又把它划分成两个层次:
从App角度来看,Android内核就是Framework。而从Framework角度来看,Linux Kernel是内核。
对App来说,Android尽力向应用层避免其他OS上的进程及进程间交互手段,取而代之的是四大组件及把它们相互连接起来的Intent。这是一种内涵远高于其技术实现的设计理念。所以,我觉得把APP层以下的内容称之为Android内核更能体现Android的特点。注意,官方并未有这种划分,所以读者也大可有自己的划分方法。
CSDN:Android应用开发者和系统开发者怎么高效的学习Framework呢?
邓凡平:Android Framework各个模块之间以及Framework各模块和上层APP之间基本上都是基于C/S方式来交互的,交互手段有Binder、Socket、Pipe、共享内存等。这是Android Framework的核心工作机制。
Android Framework包括Java层和Native层。以Java层而言:
我个人感觉在工作中很少能学到系统性知识,所以在此也鼓励读者一定要抽出整段时间来学习系统性知识。一个基本原则是:。
本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)