Android智能手机的系统结构:

智能手机的硬件基本结构大多采用双处理器架构:主处理器和从处理器,主处理器主要运行开放式操作系统以及操作系统之上的应用,负责整个系统的控制,称之为AP,从处理器负责基本无线通信,完成语音信号和数字语音信号调制解调/信道编码解码和无限Modem控制。

    Android应用框架层主要的组件介绍:

View(视图):在AndroidSDK中介绍了丰富的Views使用方法及相关属性,所有的Android应用程序有这写Views构成,主要包括了列表(Lists),网格(Grids),文本框(Text),按钮(Buttons)等基础Android应用的界面控件。

Resource Manager(资源管理器):提供非代码资源转换和访问,如本地字符串(XML文件配置),图片和布局文件(Layout Files,使用XML文件配置)。

Notification manager(通知管理器):应用可以在状态栏中现实自定义的提示信息,如新短信通知,未接来电通知,手机信号量通知。

Activity Manager(Activity管理器):用来管理Android应用程序界面的生命周期(onCreate创建,onResume显示,onPause暂停,onStop停止等),一个手机屏幕界面可对应一个Activity。

    Dalvik虚拟机运行环境:

DEX格式是专为Dalvik设计的一种压缩格式,适用于内存和处理器速度有限的系统:要生成DEX格式文件,首先要通过Java编译生成class文件,然后通过Android提供的dx工具将class文件格式转换成DEX格式。

Dalvik虚拟机的特性总结:

每个Android应用运行在一个Dalvik虚拟机实例中,而每一个虚拟机实例都是一个独立的进程空间。

虚拟机的线程机制,内存分配和管理,Mutex(进程同步)等的实现都依赖底层Linux操作系统。

所有Android应用的线程都对应一个Linux线程,因而虚拟机可以更多地使用Linux操作系统的线程调度和管理机制。

    整体编译源代码:

源代码现在完成后,使用终端在项目跟目录下使用make命令进行编译,如果计算机处理能力比较强可使用make -j8增加编译工作进程数从而减少编译时间。

编译生成的system目录中,主要结构:

app(应用apk文件)

bin(可执行文件)

etc(系统配置文件)

fonts(字体文件)

framework(主要保存一些jar包)

lib(主要保存一些so动态链接库文件)

usr(用户配置信息)

xbin(系统的一些可执行文件)

《深入理解Android:Telephon原理剖析与最佳实践》学习笔记(系统框架)的更多相关文章

  1. 《AngularJS深度剖析与最佳实践》笔记: 第二章 概念介绍

    第二章 概念介绍 2.1 什么是UI? 用户界面包括内容(静态信息+动态信息), 外观, 交互. 在前端技术栈中分别由HTML, CSS和JS负责. 进一步抽象, 分别对应于MVC三个主要部分: Mo ...

  2. 《深入理解OSGi:Equinox原理、应用与最佳实践》笔记_1_运行最简单的bundlehelloworld

    <深入理解OSGi:Equinox原理.应用与最佳实践>笔记_1_运行最简单的bundlehelloworld 买了周大大的OSGI的书看 先前完全没有基础 就靠这本书看看学学 顺便记一些 ...

  3. 《AngularJS深度剖析与最佳实践》简介

    由于年末将至,前阵子一直忙于工作的事务,不得已暂停了微信订阅号的更新,我将会在后续的时间里尽快的继续为大家推送更多的博文.毕竟一个人的力量微薄,精力有限,希望大家能理解,仍然能一如既往的关注和支持sh ...

  4. KiCad EDA 原理图库的最佳实践

    KiCad EDA 原理图库的最佳实践 由于有 Alias 别名元件,可以不用一个每一个元件都有一个元件. 对每种元件类型建议一个元件库. 因为 Value 和 元件名是一样的,所以元件名要尽可能的简 ...

  5. 推荐《深入浅出深度学习原理剖析与python实践》PDF+代码

    <深入浅出深度学习原理剖析与Python实践>介绍了深度学习相关的原理与应用,全书共分为三大部分,第一部分主要回顾了深度学习的发展历史,以及Theano的使用:第二部分详细讲解了与深度学习 ...

  6. 深入浅出深度学习:原理剖析与python实践_黄安埠(著) pdf

    深入浅出深度学习:原理剖析与python实践 目录: 第1 部分 概要 1 1 绪论 2 1.1 人工智能.机器学习与深度学习的关系 3 1.1.1 人工智能——机器推理 4 1.1.2 机器学习—— ...

  7. nodejs 实践:express 最佳实践(八) egg.js 框架的优缺点

    nodejs 实践:express 最佳实践(八) egg.js 框架的优缺点 优点 所有的 web开发的点都考虑到了 agent 很有特色 文件夹规划到位 扩展能力优秀 缺点 最大的问题在于: 使用 ...

  8. Guava Cache 原理分析与最佳实践

    前言 目前大部分互联网架构 Cache 已经成为了必可不少的一环.常用的方案有大家熟知的 NoSQL 数据库(Redis.Memcached),也有大量的进程内缓存比如 EhCache .Guava ...

  9. Android 6.0 权限管理最佳实践

    博客: Android 6.0 运行时权限管理最佳实践 github: https://github.com/yanzhenjie/AndPermission

随机推荐

  1. python 练习 27

    ython continue 语句跳出本次循环,而break跳出整个循环. continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环. continue语句用在whil ...

  2. Struts2 用 s:if test 判断String类型的对象属性值和单字符是否相等的问题

    Struts2 用 s:if test 判断String类型的对象属性值和单字符是否相等的问题   首先,这里所指的单字符形如:Y,男. 有两种做法: a. <s:if test='news.s ...

  3. prepareStatement和Statement的区别

    1:创建时的区别:    Statement stm=con.createStatement();    PreparedStatement pstm=con.prepareStatement(sql ...

  4. OLE填充EXCEL

    先把基本的FORM写好: 1.行列属性 FORM row_column USING p_r p_width p_type. CASE p_type. WHEN 'R'. "行高 = p_r ...

  5. Java 正则表达式 向前、向后匹配

    //向后匹配 String a = "I paid $90 for 10 oranges, 12 pears and 8 apples. I saved $5 on "; Patt ...

  6. JavaScript prototype 属性

    prototype 属性使开发人员有能力向对象添加属性和方法. 语法 object.prototype.name=value 实例 在本例中,我们将展示如何使用 prototype 属性来向对象添加属 ...

  7. apache 访问权限基本设置

            1 .禁止访问某个或多个文件夹 在.htaccess文件里面写入 RewriteRule ^foldername - [F,L]    #禁止访问某个文件夹 RewriteRule ^ ...

  8. Java:JDK安装

    访问Oracle网站www.oracle.com/technetwork/java/javase/downloads下载jdk 安装JDK时,不建议安装在有空格的路径名下,例如该目录c:\Progra ...

  9. 用户上网的基本流程图与DNS解析原理

    1.用户上网发送请求,首先确认本地的hosts中是否含有域名,有则进行ip访问,如果没有呢?看本机的display缓存中有没有访问网站的ip,有就直接去访问 那么如果本地的hosts和缓存都没有呢?这 ...

  10. 使用Join代替In

    我们知道,在sql中使用IN让我们的where子句可以规定多个值.当需要从一个集合中查询包含某几个值的记录的时候,通常我们会选择使用IN来实现,其实,使用JOIN也可以实现这样的功能,而且性能要比IN ...