内容简介编辑《android的设计与实现:卷i》是android应用开发工程师和android系统工程师进阶修炼的必读之作。
它由资深android内核专家亲自执笔,从源代码角度,系统、深入、透彻剖析android系统框架层(framework)的设计思想和实现原理,为android应用工程师和系统工程师解决实际工作中的各种难题提供了原理性的指导。
为了降低读者的阅读成本,《android的设计与实现:卷i》使用了大量简单的uml类图和序列图来展示类的层次结构和方法的调用流程,使读者能迅速读完《android的设计与实现:卷i》并领会其精髓!“android的设计与实现”系列丛书主要围绕android系统的四层结构展开,通过源代码来分析各层的设计思想与实现原理,卷i则主要是针对framework(框架层)的。
全书共12章,分为六个部分:基础篇(第1~2章)详细讲解了android的体系结构、源代码阅读和调试环境的搭建,以及整个框架的基础;
启动篇(第3~4章)深入分析了android启动过程的机制和实现原理,能帮助读者全面理解框架层系统服务的运行基础;
binder篇(第5~6章)着重分析了binder在native框架层和java框架层的机制和实现,能让读者深入理解进程间的通信模型;
消息通信篇(第7章)重点分析了android的消息驱动和异步处理机制,能让读者深入理解线程间的通信模型;
packagemanager篇(第8~9章)主要讲解了packagemanager的机制与实现,以及apk的安装方法与过程;
activitymanager篇(第10~12章)深入阐述了activitymanagerservice的运行机制、应用程序和进程的启动流程,以及进程管理机制。
《android的设计与实现:卷i》适合中高级的android应用开发工程师、android系统开发工程师、android系统架构师,以及负责对android系统进行调试和优化的工程师们阅读。
3前言编辑为什么要写《Android的设计与实现:卷I》  Android从2007年问世至今,不仅在各个应用领域发展得如火如荼,其图书市场也是一片“兴旺”,各个层次、各种类型的Android图书的需求都比较旺盛。
目前市场上已经有的图书主要分为以下三类:  针对AndroidSDKAPI使用的描述  针对Android系统架构各部分的描述  针对Kernel移植的描述  其中鲜有针对Android四层架构中某一层进行深入挖掘的图书,这让读者有一种只能窥其全貌,却不能独得一隅的遗憾。
  框架层是整个Android系统的灵魂,这一层起着承上启下的作用,是理解整个Android的关键,也是解决Android应用层Bug的关键。
要开发一款精品手机,就必须深入理解这一层。
  国际知名的手机厂商对手机品质有着近乎苛刻的要求,手机必须在严格的测试环境下运行数百小时无问题方可上市销售。
这期间出现的稳定性(ANR、Crash、Watchdog)、内存(OOM)、性能等问题都让人十分头痛。
这些问题主要来自于应用程序、Framework、Dalvik虚拟机、LinuxKernel、Driver以及Modem,其中相当大一部分问题源自对Framework的错误理解和使用。
举例如下:  解决KeyDispatchTimeout类型的ANR,需要熟悉ActivityManager、Input消息处理系统的机制。
  解决应用程序IDLE状态时发生的ANR,需要熟悉ActivityManager、Binder的运行机制。
  解决框架层的Watchdog问题,需要熟悉Android启动阶段开启的系统服务和Watchdog的运行机制。
  解决应用程序的性能问题,同样需要理解框架层的运行和调度机制。
  上述问题只是冰山一角,仅仅停留在使用SDKAPI的层次是不可能解决上述问题的。
因此,非常需要一本能深入挖掘框架层的专著。
  针对以上问题,编写“Android的设计与实现”系列丛书,对Android核心模块和主要问题进行深入分析。
其中卷I的主题是启动和通信,主要分析Android运行环境、PackageManager、ActivityManager、Binder和消息机制等核心模块。
卷Ⅱ的主题是资源和UI,主要分析ContentProvider、Resource、ViewSystem、WindowManager、SurfaceFlinger等核心模块。
  读者对象  《Android的设计与实现:卷I》主要分析了Android框架层主要部分的体系结构和实现原理,让读者对Framework有一个清晰的理解,并以此增强解决
2024/5/21 8:05:22 55.77MB Android 设计与实现 卷1 带完整书签
1
本书简要介绍了Verilog硬件描述语言的基础知识,包括语言的基本内容和基本结构,以及利用该语言在各种层次上对数字系统的建模方法。
书中列举了大量实例,帮助读者掌握语言本身和建模方法,对实际数字系统设计也很有帮助。
本书是VerilogHDL的初级读本,适用于作为计算机、电子、电气及自控等专业相关课程的教材,也可供有关的科研人员作为参考书。
2024/5/21 0:22:08 3.98MB verilog HDL
1
借国庆长假的机会写了这篇长文,全面地整理了个人从虚拟化到云计算各个层面的看法。
主要的内容涉及虚拟化、虚拟化管理、数据中心虚拟化、云计算、公有云与私有云、以及开放源代码。
本文的全部内容均属于作者的个人观点,而不代表任何公司的观点。
欢迎讨论。
虚拟化是指在同一台物理机器上模拟多台虚拟机的能力。
每台虚拟机在逻辑上拥有独立的处理器、内存、硬盘和网络接口。
使用虚拟化技术能够提高硬件资源的利用率,使得多个应用能够运行在同一台物理机上各自拥有彼此隔离的运行环境。
虚拟化的也有不同的层次,例如硬件层面的虚拟化和软件层面的虚拟化。
硬件虚拟化指的是通过模拟硬件的方式获得一个类似于真实计算机的环境,可以运行一个完整的操
1
VC6.0开发,本科毕业生毕业设计作品,MFC开发绘图交互软件,源代码层次分明,有注释,可读性强,对学习MFC人员极具参考价值
2024/5/16 2:34:45 4.23MB MFC毕业设计 绘图交互源码
1
本文档介绍了GIS(地理信息系统)中的三大经典模型。
2024/5/14 8:55:28 1.1MB GIS数据模型
1
STATEFLOW逻辑系统建模作者张威出版社西安电子科技大学出版社图书目录编辑第1章 概述1.1 MATLAB产品简介1.2 基于模型的设计思想1.2.1 系统设计的基本过程1.2.2 传统设计手段的缺陷1.2.3 基于模型的设计优势1.3 Simulink回顾1.3.1 创建Simulink模型1.3.2 参数设置与Model Explorer1.3.3 创建子系统1.4 Stateflow概述1.5 安装配置Stateflow1.6 本章小结第2章 创建状态图2.1 Stateflow编辑器2.1.1 创建Simulink模型2.1.2 Stateflow编辑器概览2.2 创建和编辑状态图2.2.1 插入图形对象2.2.2 编辑图形对象外观2.3 本章小结第3章 状态图的仿真3.1 状态图的基本概念3.2 事件3.2.1 添加事件3.2.2 使用多个输入事件3.2.3 默认转移的注意事项3.3 数据对象3.3.1 添加数据对象3.3.2 数据对象的属性3.3.3 使用非标量的数据对象3.3.4 设置数据对象的数据类型3.4 状态图的更新模式3.5 Stateflow模型查看器3.5.1 启动Stateflow模型查看器3.5.2 查看并修改对象属性3.5.3 增加新的非图形对象3.6 本章小结第4章 流程图4.1 转移冲突4.1.1 转移冲突的产生与默认处理4.1.2 用户自定义检测次序4.2 流程图的创建4.2.1 常用逻辑结构模型4.2.2 流程图的回溯现象4.2.3 流程图应用实例4.3 图形函数4.3.1 状态中的流程图4.3.2 创建图形函数4.3.3 应用实例4.4 Stateflow调试器4.4.1 启动调试器4.4.2 设置断点4.4.3 调试过程4.5 本章小结第5章 有限状态系统——层次化建模5.1 状态图回顾5.2 状态动作深入5.2.1 状态动作的分类5.2.2 动作的执行次序5.2.3 在动作中使用事件5.3 层次化建模5.3.1 层次化模型的构成5.3.2 层次化状态图的转移5.3.3 历史节点5.3.4 内部转移5.3.5 层次化模型的转移检测优先权5.3.6 本地数据对象5.4 子状态图5.4.1 使用组合的状态5.4.2 创建子状态图5.4.3 子状态图的超转移5.5 Stateflow查询工具5.6 本章小结第6章 有限状态系统——并行机制第7章 Stateflow Coder目标编译第8章 可复用图形结构第9章 Stateflow API附录A MATLAB可用的LaTex字符集附录B Stateflow对象层次附录C Stateflow语法小结附录D Stateflow动作语言附录E Embedded MATLAB语言附录F SimEvents简介参考文献
2024/5/12 12:21:36 11.35MB MATLAB SIMULINK STATEFLOW 建模
1
本文来自于techweb,介绍了随着边缘计算热度不断升温,边缘计算和雾计算的差别,边缘计算如何分层部署等现实问题。
边缘计算强调的是边缘。
如果说云计算意味着要将所有的数据都汇总到后端的数据中心处理,那么边缘计算则是在靠近物或数据源头的网络边缘侧实现边缘智能。
正是基于这一特性,边缘计算能够实现数据的高频交互、实时传输,因此有望在物联网和人工智能时代大放异彩。
相关预测显示,到2020年将有超过500亿的终端与设备联网,未来超过50%的数据需要在网络边缘侧分析、处理与储存。
随着物联网、云计算的发展,边缘计算正在兴起。
边缘计算源于工业领域,主要部署在终端设备或者网络节点上,旨在帮助工业生产中的设备,在数
2024/5/7 3:13:30 189KB 边缘计算如何层次化部署?
1
动态登陆界面,包含动态雪花飘零特效,非常逼真的页面雪花飘动效果,效果独特,层次感非常明显!还有鼠标互动效果。
所以花了点时间给给提取了出来,与大家一起分享
2024/4/28 8:22:13 253KB 登陆注册 雪花 动态
1
其他论坛上找到的一个小工具,学习excel做层次分析法的时候可以借鉴
2024/4/27 14:56:44 24KB 层次分析 excel
1
Flynn是一个开源的PaaS平台,可自动构建部署任何应用到Docker容器集群上运行,其功能特性与组件设计大量参考了传统的PaaS平台Heroku。
本文旨在从使用动机、基本对象、层次架构、功能组件、基本工作流这几个方面对Flynn做总体的介绍。
为了便于理解Flynn的作用与功能,让我们先来看看应用程序从开发到构建再到部署再到运行分别需要经历的几个实体状态:更具体一点,以一个Java程序为例来描述:源代码:包括*.java、log4j.properties、pom.xml等文件。
发布包:源代码被编译打包后生成一个JAR包,这个就是发布包。
部署配置:比如每个进程的启动命令、环境变量、系统属性等。
2024/4/23 18:30:48 220KB Flynn初探:基于Docker的PaaS平台
1
共 343 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡