登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』深入剖析Android新特性

書城自編碼: 3186942
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 强波
國際書號(ISBN): 9787121339332
出版社: 电子工业出版社
出版日期: 2018-04-01
版次: 1
頁數/字數: 444/532800
書度/開本: 16开 釘裝: 平装

售價:NT$ 514

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
汗青堂丛书048·科举史(新)
《 汗青堂丛书048·科举史(新) 》

售價:NT$ 370.0
新形势下海事综合风险管控理论与实践
《 新形势下海事综合风险管控理论与实践 》

售價:NT$ 448.0
数码港元:Web3.0构建香港新金融
《 数码港元:Web3.0构建香港新金融 》

售價:NT$ 420.0
邓正来著作集(全9册)
《 邓正来著作集(全9册) 》

售價:NT$ 8893.0
努斯:希腊罗马哲学研究(第6辑)--逻辑、同异与辩证法
《 努斯:希腊罗马哲学研究(第6辑)--逻辑、同异与辩证法 》

售價:NT$ 381.0
碳交易与碳金融基础(彭玉镏)
《 碳交易与碳金融基础(彭玉镏) 》

售價:NT$ 269.0
当下的骰子--福柯的光与影
《 当下的骰子--福柯的光与影 》

售價:NT$ 493.0
数字经济蓝皮书:全球数字经济竞争力发展报告(2023)
《 数字经济蓝皮书:全球数字经济竞争力发展报告(2023) 》

售價:NT$ 885.0

建議一齊購買:

+

NT$ 514
《 最强Android书:架构大剖析 》
+

NT$ 644
《 Android自定义控件开发入门与实战 》
+

NT$ 579
《 高级Android开发强化实战 》
+

NT$ 579
《 Android应用开发进阶 》
+

NT$ 514
《 Android组件化架构 》
+

NT$ 644
《 Android高性能编程 》
編輯推薦:
新和旧是相对的,本书会介绍Android系统5.0至8.0的新增特性。
在这些特性中,有的是Android系统针对旧版本存在问题的改进,例如,针对功耗问题改进的Project Volta和Doze模式,针对权限问题的Runtime Permission;有的是对系统功能的增强,例如,多窗口模式;有的是应对未来行业趋势的发展,例如,对于VR的支持。
Android作为一个跨越了多种设备的软件平台,由于各家厂商对于设备的支持速度不一,在市场上的碎片化现象很严重。在Android 7.0、8.0推出的时候,很多用户可能还在使用4.4甚至更早的版本。而从Android的新版本推出,到最终真正普及,需要一个较长的过渡时期。
这个现象对开发来说既有好处也有坏处。好处是开发者有足够多的时间为新版本的功能和特性做准备,坏处是开发者在开发应用时需要兼顾太多的版本。
本书希望能给开发者们对近几年Android的新特性做一个梳理。随着时间的推移,随着Android新版本的逐步普及,这些内容是开发者在*近几年正好需要的。
另外,这不是一本仅仅告诉读者Android SDK中的API如何使用的书。在本
內容簡介:
本书对*近几个版本(5.0 ~ 8.0)的主要新增功能进行整理和解析,本书的重点不仅仅是讲解这些新增功能特性的外部行为,而是在结合AOSP的源码基础上,解析这些功能特性的内部实现。 任何已有的功能都是固定的,随着行业的发展,Android系统在未来可能加入的功能是不确定的,只有掌握了阅读和分析AOSP源码的能力,才能应对不确定的变化,并具备今后能够自行研究Android系统的能力。
關於作者:
强波,江苏南京人,现居住在浙江杭州。就职于阿里巴巴集团-OS事业部-核心系统部门。在阿里,我的花名叫做未悔,花名取自《离骚》:亦余心之所善兮,虽九死其尤未悔。多年智能操作系统开发经验,热爱钻研技术,也热爱分享技术。现在负责AliOS运行时环境的研究与开发,参与过手机、汽车、平板、TV等多种智能设备的研发工作。个人博客:http:qiangbo.space。
目錄
第1章 预备知识1
1.1 Android系统架构1
1.2 关于AOSP3
1.3 理解Android Binder机制3
1.3.1 Binder机制简介3
1.3.2 整体架构4
1.3.3 驱动层7
1.3.4 Binder Framework C部分26
1.3.5 Binder Framework Java部分54
1.3.6 参考资料与推荐读物70
第2章 Android系统中的进程管理72
2.1 关于进程72
2.2 系统进程与应用进程73
2.2.1 init进程与init语言75
2.2.2 Zygote进程81
2.2.3 system_server进程84
2.3 应用进程的创建87
2.3.1 关于应用组件87
2.3.2 进程与线程88
2.3.3 ActivityManagerService89
2.3.4 Activity与进程创建92
2.3.5 Service与进程创建94
2.3.6 ContentProvider与进程创建96
2.3.7 BroadcastReceiver与进程创建97
2.3.8 参考资料与推荐读物99
2.4 进程的优先级管理100
2.4.1 优先级的依据100
2.4.2 优先级的基础102
2.4.3 优先级的更新105
2.4.4 优先级的算法108
2.4.5 优先级的生效119
2.4.6 结束语119
2.4.7 参考资料与推荐读物120
2.5 进程与内存的回收120
2.5.1 开发者API121
2.5.2 虚拟机的垃圾回收122
2.5.3 开发者的内存回收122
2.5.4 Linux OOM Killer123
2.5.5 LowMemoryKiller125
2.5.6 进程的死亡处理126
2.5.7 参考资料与推荐读物127
2.6 结束语127
第3章 Android系统上的虚拟机129
3.1 Java语言与Java虚拟机130
3.1.1 Java语言130
3.1.2 Java虚拟机130
3.1.3 Java虚拟机实现架构130
3.1.4 类加载器(Class loader)132
3.1.5 垃圾回收132
3.1.6 结束语135
3.1.7 参考资料与推荐读物135
3.2 Dalvik虚拟机135
3.2.1 Stack-based VS. Register-based136
3.2.2 Dalvik Executabledex文件137
3.2.3 Dalvik指令139
3.2.4 Dalvik启动过程144
3.2.5 程序的执行:解释与编译153
3.2.6 Dalvik上的垃圾回收156
3.2.7 参考资料与推荐读物159
3.3 Android Runtime(ART)159
3.3.1 ART VS.Dalvik159
3.3.2 OAT文件格式162
3.3.3 boot.oat与boot.art165
3.3.4 Dalvik到ART的切换166
3.3.5 ART虚拟机的启动过程169
3.3.6 内存分配173
3.3.7 垃圾回收178
3.3.8 JIT的回归182
3.3.9 ART虚拟机的演进与配置185
3.3.10 参考资料与推荐读物186
第4章 用户界面改进187
4.1 多窗口功能187
4.1.1 概述188
4.1.2 开发者相关189
4.1.3 内部实现191
4.1.4 参考资料与推荐读物205
4.2 App Shortcuts206
4.2.1 开发者API206
4.2.2 内部实现209
第5章 系统界面改进215
5.1 SystemUI整体介绍215
5.1.1 SystemUI简介215
5.1.2 SystemUI的初始化216
5.1.3 System Bar的初始化221
5.1.4 参考资料与推荐读物224
5.2 System Bar224
5.3 Notification234
5.3.1 开发者API234
5.3.2 通知栏与通知窗口240
5.3.3 Notification从发送到显示243
5.4 Quick Settings256
5.4.1 开发者API256
5.4.2 系统实现260
5.4.3 参考资料与推荐读物265
第6章 功耗的改进266
6.1 Project Volta266
6.1.1 JobScheduler API267
6.1.2 电量消耗分析工具277
6.1.3 在虚拟机层面减少电池消耗279
6.1.4 省电模式280
6.1.5 结束语281
6.1.6 参考资料与推荐读物281
6.2 Doze模式与App StandBy282
6.2.1 概述282
6.2.2 了解Doze模式282
6.2.3 了解App StandBy284
6.2.4 对其他用例的支持284
6.2.5 在Doze模式和App StandBy下进行测试285
6.2.6 Doze模式的实现287
6.2.7 App StandBy的实现293
6.2.8 参考资料与推荐读物297
6.3 Android 8.0上的后台限制297
6.3.1 概览298
6.3.2 后台服务限制299
6.3.3 广播限制300
6.3.4 系统实现301
6.3.5 结束语308
第7章 面向设备管理的改进310
7.1 多用户的支持310
7.1.1 术语311
7.1.2 支持多用户312
7.1.3 多用户的实现313
7.1.4 参考资料与推荐读物333
7.2 设备管理334
7.2.1 Device Administration API介绍334
7.2.2 开发设备管理程序335
7.3 面向企业环境的Android339
7.3.1 企业环境解决方案340
7.3.2 受管理资料(Managed Profiles)340
7.3.3 受管理资料的内部实现342
7.3.4 参考资料与推荐读物349
第8章 Android系统安全改进350
8.1 Android系统安全概览350
8.2 运行时权限351
8.2.1 功能介绍351
8.2.2 新增API354
8.2.3 参考资料与推荐读物370
第9章 图形系统改进371
9.1 整体架构371
9.1.1 Android图形组件371
9.1.2 组件373
9.1.3 Android如何绘制视图374
9.1.4 关于硬件加速376
9.1.5 参考资料与推荐读物377
9.2 图形系统组件377
9.2.1 Activity与Surface377
9.2.2 Gralloc379
9.2.3 BufferQueue382
9.2.4 Surface384
9.2.5 参考资料与推荐读物388
9.3 Project Butter388
9.3.1 FPS389
9.3.2 VSYNC391
9.3.3 Choreographer与VSYNC392
9.3.4 Triple Buffer398
9.3.5 参考资料与推荐读物400
9.4 SurfaceFlinger400
9.4.1 SurfaceFlinger 介绍401
9.4.2 Hardware Composer402
9.4.3 SurfaceFlinger的启动403
9.4.4 SurfaceFlinger的对外接口405
9.4.5 VSYNC的传递407
9.4.6 SurfaceFlinger的事件409
9.4.7 图层的合成411
9.4.8 刷新412
9.4.9 参考资料与推荐读物413
9.5 Vulkan简介414
9.5.1 Vulkan组件414
9.5.2 修改的组件415
9.5.3 Vulkan API415
9.5.4 参考资料与推荐读物415
第10章 系统架构改进416
10.1 Project Treble整体介绍417
10.2 HIDL420
10.2.1 语法介绍421
10.2.2 HIDL 与 Binder422
10.3 ConfigStore HAL423
10.3.1 概述423
10.3.2 内部实现424
10.4 Vendor Native Development Kit426
10.5 Vendor Interface Object427
10.5.1 概述427
10.5.2 Manifest429
10.5.3 内部实现429
內容試閱
前言
本书介绍
本书的书名是《深入剖析Android新特性》。新和旧是相对的,这样的词是有时效性的,今天新的东西,很快就不新了,本书介绍的是Android系统5.0至8.0的新增特性。
Android作为一个跨越了多种设备的软件平台,由于各家厂商对于设备支持的速度不一,市场上的碎片化现象很严重。在Android 7.0、8.0推出的时候,很多用户可能还在使用4.4甚至更早的版本。而Android的新版本从推出到最终真正普及,需要一个较长的过渡时期。
这个现象对开发来说既有好处也有坏处。好处是开发者有足够多的时间为新版本的功能和特性做准备,坏处是开发者在开发应用时需要兼顾太多的版本。
本书在Android 8.0推出不久后上市,就是希望能给开发者们对近几年Android的新特性做一个梳理。因为笔者觉得,随着时间的推移,以及Android新版本的逐步普及,这些内容是开发者在最近几年正好需要的。
另外,这不是一本仅仅告诉读者Android SDK中的API如何使用的书。在本书中,我们会花更多的精力在这些特性的内部实现上,通过解析AOSP的源码,让读者不仅知其然,也知其所以然。
Android是一个开源的操作系统,任何人都可以获取和阅读其源码。笔者认为,阅读Android源码有如下好处:
? 加深对Android系统的理解;
? 对Android SDK提供的API有更深入的理解;
? 提升自己的设计和架构水平;
? 在应对一些Android定制版本上的特有问题时,能够明白背后可能发生了什么。
合适的读者
本书适合以下读者群:
? Android应用程序开发者;
? Android系统工程师;
? 对Android系统内部实现感兴趣的读者;
? 对Android系统最新功能感兴趣的读者。
本书会包含什么
本书会在AOSP源码的基础上讲解Android系统的新增特性,主要集中在5.0~8.0版本。本书首先会对Android系统做一个整体的介绍,并对最关键的知识做一些说明。之后,会将大部分精力集中在讲解Android系统5.0至8.0的新增特性上。
在讲解这些特性的时候,我们会结合AOSP的源码,尽可能深入到系统的内部实现中,让读者不仅知其然,也知其所以然。
任何一本书的内容都凝聚了很多人的经验,本书在写作过程中也参考了很多的资料,为了对这些资料的原作者表示尊重,也为了让读者可以在更大的范围内去进行探索和学习,在每个章节的结尾,都尽可能会包含参考资料与推荐读物,这些内容是笔者在写作过程中参考的资料,或者是笔者认为对读者有帮助的信息。
任何操作系统的实现都是一个极其庞大的工程,Android系统尤其如此。因此,任何一本书都不可能穷其所有细节,本书自然也不例外。就连5.0至8.0的新增功能中,我们也只能介绍其凤毛麟角。
但本书最大的目的在于:希望通过对新增功能的解析,让读者掌握Android的系统架构模型,以及阅读AOSP源码的能力,并最终具有能够自行研究Android系统的能力。
授人以鱼不如授人以渔,任何已有的功能都是固定的,随着行业的发展,Android系统在未来可能加入的功能是不确定的,只有掌握了自己阅读和分析Android源码的能力,才能应对不确定的变化。
本书不会包含什么
下面这些内容,由于它们本身都是非常大的话题,可以单独写成一本书(甚至几本书),因此这些内容在本书中不会讲解。
? 任何编程语言方面的知识;
? LinuxUNIX系统开发知识;
? Linux内核开发知识;
? 浏览器内核开发知识(Webkit、Chromium);
? Android App基础开发知识。
阅读本书,你不必懂Linux内核、浏览器的相关知识。但本书期待读者拥有CC、Java语言代码的阅读能力,熟悉Linux环境,并有基本的Android App开发知识。否则,你可能要选择其他书来做一些准备了。
为什么要写这本书
是的,市面上已经有太多的Android书籍了,为什么还需要这一本呢?在我决定写这本书之前,我也这样问自己。
本书的编辑陈晓猛先生最初与我联系的时候,是因为看到了我的个人博客。这是在我的博客上线仅仅三个月不到的时候。
说实话,因为我本身工作很忙,写博客都要使劲才能挤出时间,所以就更加没有时间去推广。我写博客的目的仅仅是为了自己积累一些东西。当然也希望我所记录下来的东西,能对别人有帮助。
在陈晓猛先生与我联系之前,我并没有想过自己会出一本书。但在看到他的留言之后,我便在想,如果我整理出来的知识能够让更多的人看到,能够对更多的人产生帮助,那不是很好吗?于是我便尝试给他回了邮件。
出于以下理由,让我决定写这本书:
? Android平台拥有非常多的开发者,开发者们需要更多的资料;
? AOSP的源码是完全开放的,但却缺少内部实现的设计文档和说明资料;
? 目前已有的书籍大部分是针对Android 4.4前后的版本,需要有一本书针对新版本做一些整理;
? 每个人看问题和分析问题的方式不一样,给更多的人分享自己的经验是很有意义的;
? 作为一个操作系统工程师,对于同行的分析和研究也是我的工作内容之一。
术业有专攻,闻道有先后,做技术的过程本身就是一个互相学习和互相交流的过程。
由于笔者水平有限,文中若有错漏之处,也希望读者不吝赐教。
我的邮箱:paulquei@gmail.com。
我的个人主页:http:qiangbo.space。
本书的主要结构
本书包含的章节及每一章的内容介绍如下。
? 第1章:介绍Android系统的整体架构,并讲解如何获取AOSP源码,以及自己动手编译出可以运行的Android系统。
? 第2章:讲解Android系统中的进程管理,包括进程的创建、优先级管理,以及系统对于内存的管理。
? 第3章:讲解Android系统中的虚拟机,包括Dalvik虚拟机、ART虚拟机。
? 第4章:讲解Android系统上用户界面的改进,包括多窗口功能和App Shortcts。
? 第5章:讲解Android系统上的SystemUI改进,包括System Bar、Notification,以及Quick Settings。
? 第6章:讲解Android系统上功耗方面的改进,包括Project Volta、Doze模式与App StandBy。
? 第7章:讲解Android系统上设备管理方面的改进,包括对于多用户的支持和面向企业环境的Android。
? 第8章:讲解Android系统安全方面的改进。
? 第9章:讲解Android系统在图形方面的改进,包括整个架构、主要组件,以及Project Butter等知识。
? 第10章:讲解Android O系统架构的改进Project Treble。
致谢
这本书得以出版,我第一个要感谢的是南京富士通南大软件技术有限公司的朱清森部长。他曾是我的领导,正是他的引导,我才第一次尝试写作并投稿给IBM DeveloperWorks站点(https:www.ibm.comdeveloperworkscnjavaj-lo-asm),之后才有了我写的其他文章,以及我的个人博客,当然还有这本书。
第二个要感谢的是博文视点的编辑陈晓猛先生,是他的鼓励和辛苦编辑才使本书得以面世。最后要感谢的是我在AliOS的同事和领导,从这群优秀的工程师身上我学到太多太多。在我写作本书的期间内,也得到了他们的很多帮助。
强波
2018年3月于杭州

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.