版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Android Android 系统的基本架构系统的基本架构Android Android 系统的基本架构系统的基本架构演讲者: 李洪波演讲时间:2012-10-26演讲者: 李洪波演讲时间:2012-10-26分享故事分享故事l甲去买烟,烟29元,但他没火柴,跟店员说:“顺便送一盒火柴吧。”店员没给。l乙去买烟,烟29元,他也没火柴,跟店员说:“便宜一毛吧。”最后,他用这一毛买一盒火柴。l这是最简单的心理边际效应。第一种:店主认为自己在一个商品上赚钱了,另外一个没赚钱。赚钱感觉指数为1。第二种:店主认为两个商品都赚钱了,赚钱指数为2。当然心理倾向第二种了。同样,这种心理还表现在买一送一的花招
2、上,顾客认为有一样东西不用付钱,就赚了,其实都是心理边际效应在作怪.l启示:变换一种方式往往能起到意想不到的效果启示:变换一种方式往往能起到意想不到的效果! 通通常很多事情换一种做法结果就不同了。人生道路上,常很多事情换一种做法结果就不同了。人生道路上,改善心智模式和思维方式是很重要的。改善心智模式和思维方式是很重要的。 l甲去买烟,烟29元,但他没火柴,跟店员说:“顺便送一盒火柴吧。”店员没给。l乙去买烟,烟29元,他也没火柴,跟店员说:“便宜一毛吧。”最后,他用这一毛买一盒火柴。l这是最简单的心理边际效应。第一种:店主认为自己在一个商品上赚钱了,另外一个没赚钱。赚钱感觉指数为1。第二种:店
3、主认为两个商品都赚钱了,赚钱指数为2。当然心理倾向第二种了。同样,这种心理还表现在买一送一的花招上,顾客认为有一样东西不用付钱,就赚了,其实都是心理边际效应在作怪.l启示:变换一种方式往往能起到意想不到的效果启示:变换一种方式往往能起到意想不到的效果! 通通常很多事情换一种做法结果就不同了。人生道路上,常很多事情换一种做法结果就不同了。人生道路上,改善心智模式和思维方式是很重要的。改善心智模式和思维方式是很重要的。 Android的系统架构和其它操作系统一样,采用了分层的架构。的系统架构和其它操作系统一样,采用了分层的架构。 应用程序层 应用程序框架层 系统运行库层 linux核心层 Andr
4、oid的系统架构和其它操作系统一样,采用了分层的架构。的系统架构和其它操作系统一样,采用了分层的架构。 . Applications【应用程序层】: 用户直接使用的功能,谷歌提供了基本应用,比如电话、联系人、短信、邮件、浏览器等,还有无数第三方应用.JAVA开发 .Application Framework【应用架构层】: 开发应用程序使用的基础组件,相当于供应用程序调用的API,JAVA开发,包括: 1. 丰富的界面控件,如列表、按钮、文本框、内嵌浏览器等等。 2. Content Providers,数据存储组件,应用程序可以通过Content Providers分享数据 给其他应用,也可
5、以访问其他程序的数据,包括系统基本应用提供的数据,如联系人, 记事本等数据。 3. A Resouce Manager, 资源管理器,帮助应用程序访问图片,布局文件等资源。 4. A Notification Manager, 应用程序可以通过Notification Manager在主界面的状 态栏上显示一个自定义的提示信息,用户点击提示信息就能进入程序。 5. An Activity Manager, 主要负责管理应用程序的生命周期和程序调用栈。 . Applications【应用程序层】: 用户直接使用的功能,谷歌提供了基本应用,比如电话、联系人、短信、邮件、浏览器等,还有无数第三方应用
6、.JAVA开发 .Application Framework【应用架构层】: 开发应用程序使用的基础组件,相当于供应用程序调用的API,JAVA开发,包括: 1. 丰富的界面控件,如列表、按钮、文本框、内嵌浏览器等等。 2. Content Providers,数据存储组件,应用程序可以通过Content Providers分享数据 给其他应用,也可以访问其他程序的数据,包括系统基本应用提供的数据,如联系人, 记事本等数据。 3. A Resouce Manager, 资源管理器,帮助应用程序访问图片,布局文件等资源。 4. A Notification Manager, 应用程序可以通过No
7、tification Manager在主界面的状 态栏上显示一个自定义的提示信息,用户点击提示信息就能进入程序。 5. An Activity Manager, 主要负责管理应用程序的生命周期和程序调用栈。Android本身是一套软件堆迭本身是一套软件堆迭(Software Stack),或称为软件,或称为软件迭层架构,迭层主要分成三层:操作系统、中间件、应用程序。迭层架构,迭层主要分成三层:操作系统、中间件、应用程序。Android本身是一套软件堆迭本身是一套软件堆迭(Software Stack),或称为软件,或称为软件迭层架构,迭层主要分成三层:操作系统、中间件、应用程序。迭层架构,迭层
8、主要分成三层:操作系统、中间件、应用程序。 . Android Runtime【系统运行库层】: 1、Android Runtime【运行环境运行环境】 应用程序的运行空间,包括一个实现JAVA语言大多数功能的核心库;以及一个类似JAVA虚拟机的Dalvik虚拟机,所以应用程序都是运行在虚拟机中运行。Dalvik虚拟机针对移动设备做过优化,每个程序单独运行在一个虚拟机中,提高系统的安全性和稳定性,但是相对牺牲了一部分性能。Dalvik VM底层基于Linux核心的线层管理和内存管理等功能。 2、Libraries【库文件界面库文件界面】: 一系列的C/C+库,相当于Android系统在Linu
9、x核心系统上的功能扩展,为Application Framework层的许多功能提供支持,通过JNI供JAVA调用。包括: System C library - libc, 标准C系统库,针对linux嵌入式设备优化。 Media Libraries - 基于OpenCore的多媒体库,提供视频、音频、图片的播放记录等功能, 支持MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG等 Surface Manager - 管理显示子系统模块,包括多层程序2D,3D图层混合显示。 LibWebCore - 大名鼎鼎的webkit浏览器内核 SGL - 底层2D图片引擎
10、。 3D libraries - 基于OpenGL ES 1.0 APIs; 包括硬件3D加速(硬件支持的话), 或者优化的3D软解析 FreeType - 字体引擎 SQLite - 基于SQL的轻量级数据库 . Android Runtime【系统运行库层】: 1、Android Runtime【运行环境运行环境】 应用程序的运行空间,包括一个实现JAVA语言大多数功能的核心库;以及一个类似JAVA虚拟机的Dalvik虚拟机,所以应用程序都是运行在虚拟机中运行。Dalvik虚拟机针对移动设备做过优化,每个程序单独运行在一个虚拟机中,提高系统的安全性和稳定性,但是相对牺牲了一部分性能。Dal
11、vik VM底层基于Linux核心的线层管理和内存管理等功能。 2、Libraries【库文件界面库文件界面】: 一系列的C/C+库,相当于Android系统在Linux核心系统上的功能扩展,为Application Framework层的许多功能提供支持,通过JNI供JAVA调用。包括: System C library - libc, 标准C系统库,针对linux嵌入式设备优化。 Media Libraries - 基于OpenCore的多媒体库,提供视频、音频、图片的播放记录等功能, 支持MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG等 Surface
12、 Manager - 管理显示子系统模块,包括多层程序2D,3D图层混合显示。 LibWebCore - 大名鼎鼎的webkit浏览器内核 SGL - 底层2D图片引擎。 3D libraries - 基于OpenGL ES 1.0 APIs; 包括硬件3D加速(硬件支持的话), 或者优化的3D软解析 FreeType - 字体引擎 SQLite - 基于SQL的轻量级数据库 . Linux Kernel【linux核心层核心层】: Linux核心,Android的基础,基于2.6版本,基本的操作系统组件,包括内存管理,进程管理,存储管理,网络栈,驱动模型等等 . Linux Kernel【l
13、inux核心层核心层】: Linux核心,Android的基础,基于2.6版本,基本的操作系统组件,包括内存管理,进程管理,存储管理,网络栈,驱动模型等等Activity 的生命周期Activity的三个状态 ?Activity的三个状态 ?例如: 你正使用一个Activity,突然来了一个电话,这时你的应用就要具备处理这些突然事件的能力,要处理这些突然事件,需要用到Activity的生命周期。应用场合:Activity在运行时会受到一些突然事件的影响。例如: 你正使用一个Activity,突然来了一个电话,这时你的应用就要具备处理这些突然事件的能力,要处理这些突然事件,需要用到Activit
14、y的生命周期。应用场合:Activity在运行时会受到一些突然事件的影响。什么是Activity ?什么是Activity ?Activity 完整的生命周期 ?Activity 完整的生命周期 ? 流程图 流程图1.处于激活或在前台运行状态。它可以响应用户操作2.处于暂停保留状态。3.处于停止状态。或者完全被另一个Activity覆盖1.处于激活或在前台运行状态。它可以响应用户操作2.处于暂停保留状态。3.处于停止状态。或者完全被另一个Activity覆盖Activity 的生命周期一个一个activity activity 完整的生命周期完整的生命周期 : : 自第一次调用自第一次调用 o
15、nCreate(Bundle) onCreate(Bundle)开始,直至调用开始,直至调用onDestroy()onDestroy()为止。为止。activityactivity在在onCreate()onCreate()中设置所有中设置所有 全全局局 状态以完成初始化,而在状态以完成初始化,而在onDestroy()onDestroy()中释放所有系统中释放所有系统资源。比如说,如果资源。比如说,如果activityactivity有一个线程在后台运行以从有一个线程在后台运行以从网络上下载数据,它会以网络上下载数据,它会以 onCreate() onCreate()创建那个线程,而以创建那
16、个线程,而以 onDestroy()onDestroy()销毁那个线程。销毁那个线程。一个一个activity activity 完整的生命周期完整的生命周期 : : 自第一次调用自第一次调用 onCreate(Bundle) onCreate(Bundle)开始,直至调用开始,直至调用onDestroy()onDestroy()为止。为止。activityactivity在在onCreate()onCreate()中设置所有中设置所有 全全局局 状态以完成初始化,而在状态以完成初始化,而在onDestroy()onDestroy()中释放所有系统中释放所有系统资源。比如说,如果资源。比如说,
17、如果activityactivity有一个线程在后台运行以从有一个线程在后台运行以从网络上下载数据,它会以网络上下载数据,它会以 onCreate() onCreate()创建那个线程,而以创建那个线程,而以 onDestroy()onDestroy()销毁那个线程。销毁那个线程。Android 是如何管理进程的是如何管理进程的 在在Android里,进程和程序是两回事,程序可以一直保留在系统里,里,进程和程序是两回事,程序可以一直保留在系统里,但是没有任何进程在后台但是没有任何进程在后台“运行运行”,也不消耗任何系统资源。所有的程序,也不消耗任何系统资源。所有的程序保留在内存中,所有可以更快
18、的启动回到它之前的状态。当你的内存用完保留在内存中,所有可以更快的启动回到它之前的状态。当你的内存用完了,系统会自动帮你杀掉你不用的任务。了,系统会自动帮你杀掉你不用的任务。 在在Android里,进程和程序是两回事,程序可以一直保留在系统里,里,进程和程序是两回事,程序可以一直保留在系统里,但是没有任何进程在后台但是没有任何进程在后台“运行运行”,也不消耗任何系统资源。所有的程序,也不消耗任何系统资源。所有的程序保留在内存中,所有可以更快的启动回到它之前的状态。当你的内存用完保留在内存中,所有可以更快的启动回到它之前的状态。当你的内存用完了,系统会自动帮你杀掉你不用的任务。了,系统会自动帮你
19、杀掉你不用的任务。缺点:1、病毒2、死机3、耗电4、屏易坏5、.1、开放性2、应用平等3、应用无界限4、快速方便的开发应用5、.优点: Android手机的优缺点 Android手机的优缺点 Android手机获得ROOT权限后的安全隐患?将你的输入法更换成有按键记录功能的输入法将你的输入法更换成有按键记录功能的输入法将手机里的程序或者数据删除将手机里的程序或者数据删除下载并试图安装修改过的固件下载并试图安装修改过的固件下载特定的程序,可以夜间在后台拨打收费电话号下载特定的程序,可以夜间在后台拨打收费电话号码。码。侵入你的菜市场账户,并侵入你的菜市场账户,并“替你替你”购买软件。购买软件。更多
20、。更多。将你的输入法更换成有按键记录功能的输入法将你的输入法更换成有按键记录功能的输入法将手机里的程序或者数据删除将手机里的程序或者数据删除下载并试图安装修改过的固件下载并试图安装修改过的固件下载特定的程序,可以夜间在后台拨打收费电话号下载特定的程序,可以夜间在后台拨打收费电话号码。码。侵入你的菜市场账户,并侵入你的菜市场账户,并“替你替你”购买软件。购买软件。更多。更多。 Android手机获得ROOT权限后的安全隐患? Android系统的一些处理机制Android平台在保证多任务的同时兼具了兼顾了稳定性和速度单一的程序崩溃并不会影响到系统的稳定性内存管理机制极大优势:当用户从程序切回主界
21、面时,该程序会被暂停,系统此时不会给它分配CPU资源,这样做一来可以增加下次进入该程序的速度,二来不会在多任务的时候耗电过于严重,三来更不会拖慢系统速度,正所谓一石三鸟后台耗电后台进程,例如微信(需要推送)或者音乐播放(需要后台运行)等应用,这些应用再被切换到后台时会自动开启一个Service服务,这些附带Service服务的应用才会消耗CPU资源以及电力。没有Service的一般应用基本是不消耗CPU资源和电力的。 Android系统的一些处理机制Android平台在保证多任务的同时兼具了兼顾了稳定性和速度单一的程序崩溃并不会影响到系统的稳定性内存管理机制极大优势:当用户从程序切回主界面时,
22、该程序会被暂停,系统此时不会给它分配CPU资源,这样做一来可以增加下次进入该程序的速度,二来不会在多任务的时候耗电过于严重,三来更不会拖慢系统速度,正所谓一石三鸟后台耗电后台进程,例如微信(需要推送)或者音乐播放(需要后台运行)等应用,这些应用再被切换到后台时会自动开启一个Service服务,这些附带Service服务的应用才会消耗CPU资源以及电力。没有Service的一般应用基本是不消耗CPU资源和电力的。 ROM包 ? ROOT ? 刷机方法有几种 ?1.恢复模式,用“update.zip”文件;2. 进入工程模式,刷新“.NBH”文件3. 使用开发版的工程模式,进行 fastboot
23、刷机 刷机刷坏了怎么办 ? 刷机成功总会给人很大的成就感,但是出现问题的话搞不好就会把手机刷成砖头,让人痛不欲生。这里跟大家分享几个经典常见的刷机造成的问题和挽救方法 ROM包 ? ROOT ? 刷机方法有几种 ?1.恢复模式,用“update.zip”文件;2. 进入工程模式,刷新“.NBH”文件3. 使用开发版的工程模式,进行 fastboot 刷机 刷机刷坏了怎么办 ? 刷机成功总会给人很大的成就感,但是出现问题的话搞不好就会把手机刷成砖头,让人痛不欲生。这里跟大家分享几个经典常见的刷机造成的问题和挽救方法一、刷机过程没问题,但最后RSD却显示 please manually power
24、 up this phone 方法:1. 这是提示手动开机的意思,直接用手按开机键开机就OK了2. 如果第一种方法不奏效,重刷,到最后出现please manually power up this phone 后拿下电池,注意不要拔USB,不要关闭RSD,然后再装上电池,然后就静静等待熟 悉的 开机画面吧。二、启动RSD,model项显示S Flash Neptune LTE2而不显示手机的型号方法:USB驱动没有装好,可换其他驱动试试,比如motoDriverTool三、 刷机成功,但是白屏或停在静态图片上,或者一直重启方法:可能是内存卡的原因,拔掉内存卡开机四、手动能进DOS,但是连电脑没
25、反应,或者无法连接方法:打开RSD,拿下电池,插上手机,按着*#开机键,同时装上电池,注意, 不要松开这三个键,持续3分钟直到连上电脑五、刷机DOS出现Code corrupt方法:刷了一半,没有刷完,重新刷一遍,或换其他的刷六、刷机过程中DOS出现crigtal error 84方法:常规错误,重新刷,或换包七、DOS出现Phone Code Sig error batter low方法:充满电后接着刷一、刷机过程没问题,但最后RSD却显示 please manually power up this phone 方法:1. 这是提示手动开机的意思,直接用手按开机键开机就OK了2. 如果第一种
26、方法不奏效,重刷,到最后出现please manually power up this phone 后拿下电池,注意不要拔USB,不要关闭RSD,然后再装上电池,然后就静静等待熟 悉的 开机画面吧。二、启动RSD,model项显示S Flash Neptune LTE2而不显示手机的型号方法:USB驱动没有装好,可换其他驱动试试,比如motoDriverTool三、 刷机成功,但是白屏或停在静态图片上,或者一直重启方法:可能是内存卡的原因,拔掉内存卡开机四、手动能进DOS,但是连电脑没反应,或者无法连接方法:打开RSD,拿下电池,插上手机,按着*#开机键,同时装上电池,注意, 不要松开这三个键
27、,持续3分钟直到连上电脑五、刷机DOS出现Code corrupt方法:刷了一半,没有刷完,重新刷一遍,或换其他的刷六、刷机过程中DOS出现crigtal error 84方法:常规错误,重新刷,或换包七、DOS出现Phone Code Sig error batter low方法:充满电后接着刷八、DOS出现PHONE?CODE SIG?ERROR ERR: 35:02 或PHSIG 35:02方法:用机箱后面主板U口刷机,如果不行的话先降BOOT,再刷机九、进不了DOS插电脑无法连接方法:1.打开RSD,拿下电池,插上手机,按着*#开机键,同时装上电池,注意, 不要松开这三个键,持续3分钟
28、直到连上电脑2.上面方法不奏效的话,可用45短接法。步骤如下:找一条折成U字形的硬电线(镊子也可以),拿下电池把机器正面对着自己,找到数据线接口.从右往左数它下面的铜片触点,找到第4个和第5个将第4个和第5个触点短接,工具就是镊子货硬电线装上电池,成功进入DOS,把短接工具断开,连接上数据线,系统重写一遍就可以了十、刷的时候出现进度为3%、38%、89%等过程停止方法 :可能是电压问题或者是USB接口问题,一般情况用主板USB口或换根线刷就OK了八、DOS出现PHONE?CODE SIG?ERROR ERR: 35:02 或PHSIG 35:02方法:用机箱后面主板U口刷机,如果不行的话先降BOOT,再刷机九、进不了DOS插电脑无法连接方法:1.打开RSD,拿下电池,插上手机,按着*#开机键,同时装上电池,注意, 不要松开这三个键,持续3分钟直到连上电脑2.上面方法不奏效的话,可用45短接法。步骤如下:找一条折成U字形的硬电线(镊子也可以),拿下电池把机器正面对着自己,找到数据线接口.从右往左
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版供应链金融委托担保合同协议书3篇
- 2025版委托付款协议范本:金融科技委托付款合同3篇
- 2025年度木工班组安全管理服务承包合同规范4篇
- 2025年度木材资源保护与可持续利用合同4篇
- 个性化2024年版汽车租赁公司合作合同版
- 2025年度商场装修监理与商业布局合同
- 二手车交易法律合同书2024年版版B版
- 二零二五年度解除经济适用房租赁合同公告
- 2025年度酒吧安全管理与应急预案承包合同
- 二零二五年度土地征收与补偿安置协议合同
- GB/T 45120-2024道路车辆48 V供电电压电气要求及试验
- 春节文化常识单选题100道及答案
- 24年追觅在线测评28题及答案
- 2024年全国职业院校技能大赛高职组(药学技能赛项)考试题库(含答案)
- 2024至2030年中国氢氧化钙行业市场全景调查及发展趋势分析报告
- 鱼菜共生课件
- 《陆上风电场工程概算定额》NBT 31010-2019
- 初中物理八年级下册《动能和势能》教学课件
- 心肌梗死诊疗指南
- 原油脱硫技术
- GB/T 2518-2019连续热镀锌和锌合金镀层钢板及钢带
评论
0/150
提交评论