内容简介编辑《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
ZEMAX光学设计指导含实例素材文件,包含基础设计实例,目视光学系统设计实例,显微镜设计,望远镜设计等
2024/5/20 17:39:41 49KB ZEMAX 光学设计
1
simulink建模的指导意见,主要用于汽车行业的控制系统
2024/5/19 3:14:13 2.42MB 建模 规范 指导 simulink
1
2019年7月最新iNode智能客户端MacOS版iNodeClientforMacOS_7.3(E0538)支持802.1x认证方式,支持MacOS10.9至10.14。
内附安装指导手册,iNodeClient_MacOS_7.3(E0538)802.1x.zip
2024/5/18 17:17:06 21.86MB iNode MacOS 802.1x
1
上海博通bk的ble芯片,bk3432编程指南,应用开发指导,编程手册.BK3432芯片是一款高度集成的蓝牙4.2双模式,带2Mbps数据速率选项。
它集成了高性能RF收发器、基带、ARM9E内核、丰富的功能外设单元、PR支持BLE应用的可编程协议和概要文件。
2024/5/17 7:16:27 2.09MB bk3432 编程手册
1
《嵌入式Qt实战教程》是配合QtGUI程序设计的指导教材,独立于任何Qt编程教科书。
主要内容有常用GUI介绍、Qt开发工具的安装及其优点、Qt入门、窗口的布局、信号和槽机制、常见对话框的使用、主窗口(QMainWindow类)的使用、菜单和工具条的实现、鼠标和键盘事件、Qt进程与线程、网络编程、互斥锁等。
最后还详细讲解了Qt的一些应用小项目,并列出了全部源代码,如图片浏览器、MP3播放器、网络视频播放器、门禁机项目。
2024/5/12 9:24:41 43.44MB 嵌入式 Q t实战 教程
1
武汉理工大学中间件实验报告和实验指导书,里面有源码,一共是47页。
2024/5/11 19:05:26 767KB 武汉理工大学 中间件 Java 实验报告
1
一个基于Face_Recognition的python人脸识别项目完整示例代码,所有代码基于python实现。
python3.6版本,有不懂的同学下载后里面有链接地址,我可以提供具体指导。
2024/5/11 14:30:41 125KB 人脸识别
1
《操作系统原理》实验指导书实验一生产者-消费者模型模拟进程调度一、实验任务1、在WINDOWS2000环境下,创建一个控制台进程,此进程包括4个线程:2个生产者线程和2个消费者线程。
2、用信号量机制解决进程(线程)的同步与互斥问题。
二、实验目的1.掌握基本的同步互斥算法,理解生产者和消费者模型。
2.了解Windows2000/XP中多线程的并发执行机制,线程间的同步和互斥。
3.学习使用Windows2000/XP中基本的同步对象,掌握相应的API。
三、实验要求1.生产者消费者对缓冲区进行互斥操作。
2.缓冲区大小为10,缓冲区满则不允许生产者生产数据,缓冲区空则不允许消费者消费数据。
3.生产者消费者各循环操作50次。
四、设计思路和采取的方案1.利用windows提供的API函数CreateSemaphore()创建信号量对象;
CreateThread()创建线程;
WaitForSingleObject()执行P操作;
ReleaseSemaphore()执行V操作;
WaitForMultipleObjects()主进程等待线程的结束等函数进行设计。
2.在Windows中,常见的同步对象有:信号量(Semaphore)、互斥量(Mutex)。
使用这些对象都分为三个步骤,一是创建或者初始化;
接着请求该同步对象,随即进入临界区,这一步对应于互斥量的上锁;
最后释放该同步对象,这对应于互斥量的解锁。
这些同步对象在主进程中创建,在其子线程中都可。
实验二存储管理一、目的和要求1.实验目的(1)掌握时间片轮换的进程调度算法;
(2)掌握带优先级的进程调度算法;
(3)选用面向对象的编程方法。
2、实验学时:2学时3、实验要求(1)自定义PCB的数据结构;
(2)使用带优先级的时间片轮转法调度进程,每运行一个时间片,优先级减半。
(3)命令集A)create随机创建进程,进程的优先级与所需要的时间片随机决定;
B)ps查看当前进程状态C)sleep命令将进程挂起D)kill命令杀死进程E)quit命令退出二、实验内容根据教师指定的实验课题,完成设计、编码、测试工作。
实验三虚拟存储器一、目的和要求1.实验目的(1)掌握先进先出页面置换算法;
(2)掌握随机替换页面置换算法;
(3)掌握OPT页面置换算法;
(4)掌握最近最少使用页面置换算法;
(5)熟悉抖动现象及其产生原理;
(6)熟悉C/C++编程。
2、实验学时:2学时3、实验要求(1)进程占用内存空间共640K,页面大小是1K/2K/4K/8K;
(2)随机生成256个页面置换次序;
(3)用于分配页面大小的内存总空间是32K;
(4)给出四种页面置换算法的换页过程,并计算各自的缺页率。
二、实验内容编写程序,使用四种不同的页面替换策略算法进行页面替换。
分别是先进先出,随机替换,时钟页面替换,最近最久未使用页面替换,并计算缺页率。
1
初步完成了异步TCP客户端+掉线自动重连,刚开始接触socket编程,对委托、回调、异步冒似还是似懂非懂,希望大家多多指导。
http://u.download.csdn.net/images/btn_submit.png
2024/5/10 17:53:46 56KB 异步TCP 委托 掉线重连
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡