博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Architecture
阅读量:2342 次
发布时间:2019-05-10

本文共 2696 字,大约阅读时间需要 8 分钟。

See Google'sfor an overview of Android components, and a diagram of the architecture.

The diagram on that page appears in every presentation I have ever seenabout Android technical topics (with the exception of my own).

Contents

[]

Architecture Diagram

Here is the Android Architecture Diagram, obtained from .

See also

Basically Android has the following layers:

  • applications (written in java, executing in Dalvik)
  • framework services and libraries (written mostly in java)
    • applications and most framework code executes in a virtual machine
  • native libraries, daemons and services (written in C or C++)
  • the Linux kernel, which includes
    • drivers for hardware, networking, file system access and inter-process-communication

Overview presentations

    • Great presentation by Tetsuyuki Kobayashi overview of Android
  • See this Android Internals presentation by Karim Yaghmour
    • You'll find both the video and the slides there
  • Presentation by Matt Porter at ELC Europe
    • Has bits and pieces showing problematic Android code and policies

Breakdown of running Android system

A quick look at Android contents and programs running when Android starts is at:

Relation to the Linux kernel

Here is from the CELF conference 2010, discussing how Google/Android work (or don't work) with the Linux community.

Java

Java is used as a language for application programming, but it is converted into a non-java byte code for runtime interpretation by a custom interpreter (Dalvik).

Java/Object Oriented Philosophy

Practicality is more important than purity in implementing the Android system.

Dianne Hackborn, one of the principal engineers working on Android, wrote:

It's not like I am a C programmer who doesn't like object oriented design. In fact prior to Android my primary language was C++... and honestly, Java really annoys me in the way it introduces so much more overhead to do things that I could express in very nice OO concepts in C++ with a much lighter-weight result.

Though Java has a lot of other nice attributes that make it good for Android, it also has its share of design flaws and misfeatures that mean we can't be totally beautifully OO as you would like.

Finally, going forward, our API conventions were defined in a way that allowed us to ship a well performing system on the hardware we had the time. As the situation changes (and it slowly is, but not enough yet) that could change... however, I will probably lean towards keeping those API conventions in place just for the sake of consistency with everything that currently exists. Of course if Android is successful and in 10 years from now we are designing a whole new next generation Android framework... well, then the world is a different place.

转载地址:http://bhfvb.baihongyu.com/

你可能感兴趣的文章
如何美观地打印Python对象?这个标准库可以简单实现
查看>>
写作路上的这些小成绩,铸就了一个不平庸的程序员
查看>>
程序员找工作的个人经验教训以及注意事项
查看>>
2019 编程语言排行榜:Java、Python 龙争虎斗!谁又屹立不倒
查看>>
拥有10年编程经验的你,为什么还一直停留在原地
查看>>
Flask vs Django,Python Web开发用哪个框架更好
查看>>
用Python制作动态二维码,一行代码就做到了
查看>>
Python说:常见的数据分析库有哪些
查看>>
Python教程:Python数据类型之字典
查看>>
Python基础教程:python的数据类型
查看>>
Python学习教程:另辟蹊径,appium抓取app应用数据了解一下
查看>>
周董新歌《说好不哭》上线,20W评论,歌迷都说了些啥
查看>>
Python学习教程:用Python进行金融市场文本数据的情感计算
查看>>
Python爬虫:python获取各种街拍美图
查看>>
爬虫工程师是干什么的?你真的知道吗?
查看>>
写给那些想学Python的人,建议收藏后细看
查看>>
数据全裸时代,你的隐私有多容易获取?
查看>>
分析http代理报错问题
查看>>
Python编程学习笔记 - 列表的各种姿势
查看>>
Python学习教程:Python入门笔记整理
查看>>