网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > 论文培训 > 正文

专访邓凡平:深入理解Android

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

本文主要为广大网友提供“专访邓凡平:深入理解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层,我个人又把它划分成两个层次:

  • 以Native语言编写的模块,包括负责显示的SurfaceFlinger、负责音频I/O的AudioFlinger、负责媒体播放的MediaPlayerService、负责Wi-Fi的wpa_supplicant、负责蓝牙的Bluez。我称之为Native Framework
  • 以Java编写的模块,包括和App紧密交互的ActivityManagerService、WindowManagerService等。我称之为Java 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层而言:

  • 毫无异议的一点是:Java层最终会运行在一个或多个Java虚拟机上。当然,这个Java虚拟机最终会以进程的形态运行在Linux之中。
  • 现在问题就出来了:Google花了大量心血用Java语言编写的ActivityManagerService、WindowManagerService、PackageManagerService等模块,不光能运行在云OS的虚拟机上,也能跑在dalvik自己实现的虚拟上。在这种情况下,java虚拟机的作用就好比PC机中的CPU。当你把CPU从Intel的换成了AMD后,就把运行在上面的Linux叫做自主OS。个人认为这种说法有夸大之嫌。
  • 我个人感觉在工作中很少能学到系统性知识,所以在此也鼓励读者一定要抽出整段时间来学习系统性知识。一个基本原则是:。

    本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

    设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师