Android程序设计之系统架构深入浅出_第1页
Android程序设计之系统架构深入浅出_第2页
Android程序设计之系统架构深入浅出_第3页
Android程序设计之系统架构深入浅出_第4页
Android程序设计之系统架构深入浅出_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android长征开始--系统架构分析AndroidSystemAnalysis3Android系统体系概述活动用户界面部件通常对应一个屏幕意向接收设置并回应提示或状态改变,并激活应用程序服务没有前端界面的后台任务内容提供应用程序可以共享数据应用程序构建模块Android框架4JNIJAVAC/汇编1.最低层是linuxkernel,主要负责内存管理、进程调度等系统管理以及终端的硬件驱动。Binderdriver,google为android设计的一个增强系统的进程间通信能力的模块。2.Kernel的上一层是libraries,包含了核心库、第三方库和android虚拟机。android并没有直接采用传统的j2se或j2me的java虚拟机,而是自己建立了一个称为dalvik的虚拟机,号称更节省字节码的空间,性能更好。但这也成为了google与sun关于java版权争议点。3.Framework是android为应用开发者设计的一套软件框架,提供了丰富的api和一些现成的开发元素。Framework是采用java语言实现的。在NDK出来之前,android应用开发者基本上只能用java来开发应用。Android使用JNI连接了libraries和framework。4.Application就是在framework的基础上开发的各种应用。6本地库BionicLibc函数库(FuntionLibraries)本地服务(NativeServers)硬件抽象库(HardwareAbstractionLibraries)LibrariesAndroidincludesasetofC/C++librariesusedbyvariouscomponentsoftheAndroidsystem.ThesecapabilitiesareexposedtodevelopersthroughtheAndroidapplicationframework.Someofthecorelibrariesarelistedbelow:SystemClibrary-aBSD-derivedimplementationofthestandardCsystemlibrary(libc),tunedforembeddedLinux-baseddevicesMediaLibraries-basedonPacketVideo'sOpenCORE;thelibrariessupportplaybackandrecordingofmanypopularaudioandvideoformats,aswellasstaticimagefiles,includingMPEG4,H.264,MP3,AAC,AMR,JPG,andPNGSurfaceManager-managesaccesstothedisplaysubsystemandseamlesslycomposites2Dand3DgraphiclayersfrommultipleapplicationsLibWebCore-amodernwebbrowserenginewhichpowersboththeAndroidbrowserandanembeddablewebviewSGL-theunderlying2Dgraphicsengine3Dlibraries-animplementationbasedonOpenGLES1.0APIs;thelibrariesuseeitherhardware3Dacceleration(whereavailable)ortheincluded,highlyoptimized3DsoftwarerasterizerFreeType-bitmapandvectorfontrenderingSQLite-apowerfulandlightweightrelationaldatabaseengineavailabletoallapplications7SQLite轻量级事务数据存储多数平台数据存储的后端8Dalvik虚拟机完全为Android定制的虚拟机,基于QEMU提供应用程序可移植性和运行环境的一致性运行优化的dex格式文件和Dalvik字节码Java.class/.jar在创建的时候就被转换成为了.dex为嵌入式环境设计支持每设备多个虚拟机进程高度CPU优化的字节码解释器高效内存使用应用程序框架活动管理器包管理器窗口管理器资源管理器内容提供器视图系统通知管理器电话管理器各种服务ApplicationFrameworkByprovidinganopendevelopmentplatform,Androidoffersdeveloperstheabilitytobuildextremelyrichandinnovativeapplications.Developersarefreetotakeadvantageofthedevicehardware,accesslocationinformation,runbackgroundservices,setalarms,addnotificationstothestatusbar,andmuch,muchmore.DevelopershavefullaccesstothesameframeworkAPIsusedbythecoreapplications.Theapplicationarchitectureisdesignedtosimplifythereuseofcomponents;anyapplicationcanpublishitscapabilitiesandanyotherapplicationmaythenmakeuseofthosecapabilities(subjecttosecurityconstraintsenforcedbytheframework).Thissamemechanismallowscomponentstobereplacedbytheuser.Underlyingallapplicationsisasetofservicesandsystems,including:ArichandextensiblesetofViewsthatcanbeusedtobuildanapplication,includinglists,grids,textboxes,buttons,andevenanembeddablewebbrowserContentProvidersthatenableapplicationstoaccessdatafromotherapplications(suchasContacts),ortosharetheirowndataAResourceManager,providingaccesstonon-coderesourcessuchaslocalizedstrings,graphics,andlayoutfilesANotificationManagerthatenablesallapplicationstodisplaycustomalertsinthestatusbarAnActivityManagerthatmanagesthelifecycleofapplicationsandprovidesacommonnavigationbackstack应用程序联系人主页电话浏览器愤怒的小鸟ApplicationsAndroidwillshipwithasetofcoreapplicationsincludinganemailclient,SMSprogram,calendar,maps,browser,contacts,andothers.AllapplicationsarewrittenusingtheJavaprogramminglanguage.AJAX网页应用程序<canvas>使JavaScript可直接绘图DOM可以创建UI特效Android目前不支持HTML5,但有GearsGoogleReaderGmailAndroid2.25月19日GoogleI/O2010新特性:全新的JIT编译器额外的可用RAM增强支持OpenGLES2.0支持Flash10.1APP2SD将支持软件安装到存储卡修复多点触摸传感器的问题激活轨迹球闪光色彩设置增加FM收音机支持Android系统深入探究一、进程管理进程当应用程序的第一个组件需要运行时,Android就创建一个只包含一个线程的Linux的进程默认情况下,应用程序的所有组件都在这个进程中的线程中执行每一个进程都被一个manifestfile控制当内存资源很紧张的时候,Android会暂时中止掉一些优先级较低的进程线程在一个进程的主线程中,所有的组件都将被初始化。可以通过Java传统的Thread类进行创建Android操作系统会尽量长时间的保持线程活动控制层次比线程和进程更高一些如相册,短信编辑器每个活动,包含以下四个关键状态(1)一个活动被放在活动栈的最上方,并且开始运行(2)该活动不再成为系统的焦点,但是它依然可见。系统保存了它的状态,它处于暂停状态。然而,如果内存情况十分糟糕,这个活动会被结束掉。

(3)该活动已经完全模糊,几乎被另一个活动替代。系统仍然保存了它的状态,对于用户来说,它处于不可见状态。一旦内存需要空间,该活动就会被结束掉。(4)活动被暂停或中止,系统将这个活动的内存收回,直接结束该进程或者调用该活动的结束程序。活动暂的状送态过母程完全尊生命帅周期开始堵于on交Cr室ea待te慕(B湖un淡dl宴e)结束珍于on鱼De貌st载ro命y(领)。可见赖生命钢周期开始弯于on殊St顽ar节t(款)结束咳于on茄St奔op坝()前台备生命甩周期开始糠于on膀Re提su宫me帜()结束涌于on搂Pa素us崖e(劲)服务症系统没有稳可视谁化的住用户寒接口棒,而横是在测后台购运行继承se伯rv糠ic虑e类的贫子类音乐决播放挽器播放找界面平为活班动后台严播放逃为服概务广播咬接收嘱系统负责框接收真和反奔馈广别播信尸息时间虚变化电池绣没电用户仗切换辩了语仍言模扣式Br两oa发dc苹as耀tR榨ec耕ei来ve测r的子渠类二、内存悦管理存储郑选项开发脱者根挤据自口己特道定的截需要鲜来选侨择存幅储解荐决方姿案存储卧选项焰包括:共享意机制即便抗应用赛程序腊中止初,数融据依永然保控存内部坏存储一旦洋应用樱程序热中止时,内厕部存绕储的博数据线会被罗全部讯删除外部樱存储可以境是可迁插拔燥的移谅动媒横体(如SD卡)近,或碍者内期部的泥不可距插拔玻的存跳储器数据美库存谜储完整欠的SQ销Li霞te数据临库网络扛连接使用屯网络凡中的澡服务蠢器来恢存储问和取街回数佣据内容段提供缴系统(C精on遥te楼nt仰p林ro半vi霸de幻玉r)帮助洋应用不程序跌存储者和收笔回数斩据An堵dr各oi庭d系统哭中共绑享数遇据的北唯一好方式An碌dr减oi肃d并没堪有提江供共壶享存单储区赚域An邮dr迷oi聋d包含岭了许件多类这型的飞内容棋提供晚系统视频瓶,音搏频,紧图片孟,名扒片等途格式也可巷以创夏建一坐个自袭定义朴的内良容提村供系栽统(C宣on屈te瓶nt激Pr挖ov偏id孔er的子杠类)采用霸数据介库模鞭型每一嫁行代施表一仍个记齿录每一参列代吩表一穗个特脑定的迁类型沃或含乐义三、电源奏管理基于Li擦nu弊x的PM素(P炭ow短er补M言an偶ag槽er叹me刷nt自)允许堡根据棚目前丛的电付池容损量调当整设蚁备的矩配置增加剃了许蜂多新胞的电应源管战理措刷施通过路锁和姻定时念器来休切换秆系统畜的状单态,础使系独统的鉴功耗杠降至宋最低系统暖正常涉开机拌后进扬入到AW姐AK铸E状态背景终光会奸从最途亮慢梅慢调狗节到漆用户属设定仗的亮虑度系统蔬屏幕娱关闭狸计时椅器开体始计榆时在计袜时时妨间到镰之前岂,如乐果有漠任何筑活动(a胶ct合iv工it好y)发生肌,如些触屏弟、按和键等疾事件饿,则仿将重僻置计倍时器肾,系等统保申持在斥唤醒滔(AW档AK矿E)状勺态如果诱有应乞用程丛序在讽这段俯时间皂内申周请了境全唤阀醒锁霉(Fu趴ll霜w党ak论e粘lo荷ck),谈那么中系统拾也将强保持槐在唤屈醒状劣态,懂除非帐用户荷按下捐电源财开关肝键。在唤支醒状徒态下贷如果敌电池绞电量相低或护者是卸用AC供电远,屏悦幕关垃闭计偶时器椒时间免到并令且选盖中“蜻外接单供电肾时保洗持屏梨幕点林亮”泉选项评,背凭景光抽会被践强制判调节曾到渐纯暗(DI殊M)的埋状态如果犁屏幕叨关闭漂计时再器时令间到堪并且辽没有选全唤袄醒锁圆或者希用户室按了匙电源便开关乡丰键,奔那么根系统叶状态秆将被丝式切换逃到通肚知(NO粗TI融FI思CA阳TI馋ON)系统袍在Sl逝ee丹p状态脂时如鞭果检散测到杨任何陪一个糟唤醒担资源死(Wa岩ke排up役s户ou谱rc容e),扯则CP话U会从烂睡眠摊状态书被唤含醒,纳并且贸调用亦相关猛的驱拨动的宋恢复拖执行附函数什,接奋下来派马上赶调用雄前期猾注册弟的ea苗rl再y怖su产sp反en矮d驱动衰的恢举复执侍行函在数,慰最后妻系统同状态顶回到嗽唤醒伞状态扶。四、I/滥O和驱森动(H公AL晌)HA洞L(硬钓件抽著像层彻)把An茂dr狭oi框d躲fr肺am付ew峰or就k与Li蚁nu须x尘ke台rn波el完全液隔开让An拾dr践oi座d不至厘于过守度依吧赖Li抵nu友x滔ke赴rn议el让An贪dr终oi绣d更好鄙的独忧立发爷展五、Wi条de丈ge仪t引擎微件酸是一哗种基削于互沉联网期的We雷b小应告用小巧摆轻便累、易辈于开活发、喝与操圣作系零统耦趴合度业低和训功能臣完整是We凉b2板.0的典糟型应栋用之判一Ip踏ho毯ne、Gp晴ho沾ne、Op挡er净a、No渔ki跪a系列斤高端厚手机室都在巷把内兄置微汇件服政务作干为标患配。提供符商主流巩的移赌动软临件提何供商萍(AC枝CE项SS,Op洞er卫a,Pi庆cs念el,Su渐n,Su乞rf努Ki妻tc禁he谎n以及Ya怠ho险o)终端育厂商碰主导颠的解毫决方帮案(浅如:躁诺基斜亚的We暴bR滨un杨ti缴me,Wi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论