深入剖析 Android新特性

深入剖析 Android新特性 pdf epub mobi txt 电子书 下载 2025

张波 著
图书标签:
  • Android
  • Android开发
  • Android新特性
  • 移动开发
  • 技术
  • 编程
  • 深入解析
  • 实战
  • 源码
  • Kotlin
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 西单图书大厦专营店
出版社: 电子工业出版社
ISBN:9787121339334
商品编码:29379827869
出版时间:2018-05-01

具体描述

基本信息

商品名称: 深入剖析 Android新特性 出版社: 电子工业出版社 出版时间:2018-05-01
作者:张波 译者: 开本: 16开
定价: 79.00 页数: 印次: 1
ISBN号:9787121339332 商品类型:图书 版次: 1

编辑推荐

“新”和“旧”是相对的,本书会介绍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如何使用的书。在本书主要分析这些特性的内部实现上,通过解析AOSP的源码,让读者不仅知其然,也知其所以然。

内容提要

本书对*近几个版本(5.0 ~ 8.0)的主要新增功能进行整理和解析,本书的重点不仅仅是讲解这些新增功能特性的外部行为,而是在结合AOSP的源码基础上,解析这些功能特性的内部实现。 任何已有的功能都是固定的,随着行业的发展,Android系统在未来可能加入的功能是不确定的,只有掌握了阅读和分析AOSP源码的能力,才能应对不确定的变化,并具备今后能够自行研究Android系统的能力。

作者简介

强波,江苏南京人,现居住在浙江杭州。就职于阿里巴巴集团-OS事业部-核心系统部门。在阿里,我的花名叫做”未悔“,花名取自《离骚》:”亦余心之所善兮,虽九死其尤未悔“。多年智能操作系统开发经验,热爱钻研技术,也热爱分享技术。现在负责AliOS运行时环境的研究与开发,参与过手机、汽车、平板、TV等多种智能设备的研发工作。个人博客:http://qiangbo.space。

目录

第1章 预备知识 1 1.1 Android系统架构 1 1.2 关于AOSP 3 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 ActivityManagerService 89 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 开发者API 121 2.5.2 虚拟机的垃圾回收 122 2.5.3 开发者的内存回收 122 2.5.4 Linux OOM Killer 123 2.5.5 LowMemoryKiller 125 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-based 136 3.2.2 Dalvik Executable(dex)文件 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.Dalvik 159 3.3.2 OAT文件格式 162 3.3.3 boot.oat与boot.art 165 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 Shortcuts 206 4.2.1 开发者API 206 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 Bar 224 5.3 Notification 234 5.3.1 开发者API 234 5.3.2 通知栏与通知窗口 240 5.3.3 Notification从发送到显示 243 5.4 Quick Settings 256 5.4.1 开发者API 256 5.4.2 系统实现 260 5.4.3 参考资料与推荐读物 265 第6章 功耗的改进 266 6.1 Project Volta 266 6.1.1 JobScheduler API 267 6.1.2 电量消耗分析工具 277 6.1.3 在虚拟机层面减少电池消耗 279 6.1.4 省电模式 280 6.1.5 结束语 281 6.1.6 参考资料与推荐读物 281 6.2 Doze模式与App StandBy 282 6.2.1 概述 282 6.2.2 了解Doze模式 282 6.2.3 了解App StandBy 284 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 面向企业环境的Android 339 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 新增API 354 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与Surface 377 9.2.2 Gralloc 379 9.2.3 BufferQueue 382 9.2.4 Surface 384 9.2.5 参考资料与推荐读物 388 9.3 Project Butter 388 9.3.1 FPS 389 9.3.2 VSYNC 391 9.3.3 Choreographer与VSYNC 392 9.3.4 Triple Buffer 398 9.3.5 参考资料与推荐读物 400 9.4 SurfaceFlinger 400 9.4.1 SurfaceFlinger 介绍 401 9.4.2 Hardware Composer 402 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 API 415 9.5.4 参考资料与推荐读物 415 第10章 系统架构改进 416 10.1 Project Tre

《 Android 进阶之路:从原理到实践 》 一、 前言:技术浪潮中的掌舵者 在飞速发展的移动互联网时代,Android 操作系统以其开放性、灵活性以及庞大的用户基础,成为了全球智能终端领域无可争议的巨头。对于每一位立志在 Android 开发领域深耕的工程师而言,仅仅掌握基础的 UI 构建和 API 调用是远远不够的。真正的挑战在于理解 Android 系统底层的运作机制,洞察其设计哲学,并能够灵活运用各种高级特性来解决复杂的技术难题,构建出稳定、高效、用户体验卓越的应用程序。 《 Android 进阶之路:从原理到实践 》应运而生,它并非一本浅尝辄止的教程,而是一次深入Android世界心脏的探索之旅。本书旨在带领读者跨越基础的门槛,直击 Android 系统的核心,揭示那些隐藏在表象之下的精妙设计。我们相信,唯有理解“为什么”,才能更好地掌握“怎么做”,并最终引领技术的发展方向,成为驱动行业进步的掌舵者。 二、 内容概览:拨开迷雾,直达本质 本书涵盖了 Android 开发中的多个关键领域,从系统架构到性能优化,从并发处理到安全加固,力求为读者构建一个全面而深入的知识体系。我们不回避技术的复杂性,而是迎难而上,用清晰的逻辑、详实的图解以及贴近实际的案例,将抽象的概念具象化,将晦涩的原理通俗化。 第一部分:Android 系统架构的深度解析 Linux 内核之上的 Android: 深入探讨 Android 如何基于 Linux 内核构建,了解其在硬件抽象层 (HAL)、Binder IPC 机制、以及进程管理方面的独特设计。我们将揭示 Android 如何在 Linux 的基础上,构建起一套独立且强大的应用程序运行环境。 Android Runtime (ART) 与 Dalvik: 详细对比 ART 和 Dalvik 的演进,深入理解 ART 的优势,包括 AOT (Ahead-of-Time) 编译、垃圾回收机制的优化、以及跨平台兼容性。我们将剖析字节码的加载、编译和执行过程,让你对应用的启动和运行有更深刻的认识。 关键系统服务的运转: 剖析 ActivityManagerService、PackageManagerService、WindowManagerService 等核心系统的服务如何协同工作,支撑起整个 Android 应用的生命周期管理、权限控制、窗口展示等核心功能。理解这些服务的交互,是理解 Android 整体框架的关键。 Binder IPC 机制: 深入探究 Android 特有的进程间通信机制 Binder 的工作原理,包括其代理模式、Binder 驱动、以及远程方法调用的完整流程。我们将通过源码分析和实践案例,让你彻底掌握 Binder 的强大之处。 第二部分:高性能应用构建的艺术 内存管理与优化: 深入理解 Android 的内存分配机制,包括堆、栈、方法区等。学习如何使用 LeakCanary、Memory Profiler 等工具检测和定位内存泄漏,掌握对象复用、内存池等优化策略,有效避免 OOM (OutOfMemoryError)。 CPU 性能与线程模型: 详解 Android 的线程模型,包括主线程、工作线程、以及各种线程池的运用。学习如何利用 AsyncTask、Handler、RxJava 等处理异步任务,避免 ANR (Application Not Responding) 发生。我们将重点讲解 ThreadPoolExecutor 的高级配置和使用技巧。 UI 渲染性能优化: 揭示 Android UI 渲染的原理,包括测量 (Measure)、布局 (Layout)、绘制 (Draw) 三个阶段。掌握 VSync 信号、Choreographer、ViewRootImpl 等关键概念。学习如何通过避免过度绘制、优化布局层级、使用 RecyclerView 等高效组件来提升 UI 渲染性能。 网络通信优化: 深入分析 OkHttp、Retrofit 等主流网络库的底层实现,讲解连接池、请求缓存、Gzip 压缩等优化策略。掌握 HTTP/2、HTTP/3 等新协议的优势,并了解如何设计高效的网络请求和数据同步方案。 耗电优化: 分析 Android 的电量消耗机制,包括 CPU 占用、网络请求、WakeLock 等。学习如何使用 Battery Historian 等工具分析电量瓶颈,并掌握各种省电策略,如后台任务调度、位置信息获取优化、唤醒锁管理等。 第三部分:并发与多线程的高级应用 Java 并发基础回顾与 Android 特性: 在回顾 Java 并发编程核心概念(如 `synchronized`、`volatile`、`Lock`)的基础上,重点分析 Android 在并发处理方面的特有机制和挑战。 线程池的精细化管理: 深入理解 `ThreadPoolExecutor` 的各个参数含义,包括核心线程数、最大线程数、队列类型、拒绝策略等。学习如何根据不同场景(CPU 密集型、IO 密集型)配置最优的线程池,避免资源浪费和死锁。 RxJava 与响应式编程: 引导读者进入响应式编程的世界,详细讲解 RxJava 的核心概念(Observable、Observer、Operator、Scheduler)。通过大量实际应用案例,展示如何使用 RxJava 简化异步操作、处理复杂数据流、以及实现事件驱动的架构。 协程 (Coroutines) 的优雅实践: 介绍 Kotlin 协程在 Android 开发中的应用,理解挂起函数、协程作用域、调度器等概念。学习如何使用协程优雅地处理异步任务,替代传统的 Callback 和 RxJava,提升代码的可读性和维护性。 第四部分:Android 安全与加固策略 代码混淆与加固: 深入理解 ProGuard 和 R8 的工作原理,掌握代码混淆、优化、压缩的最佳实践。探讨第三方加固方案的原理和优劣,了解其在防止反编译、反篡 উদ্বে保护方面的作用。 数据加密与安全存储: 讲解 Android 中各种加密算法(AES、RSA)的应用,以及安全存储敏感信息的方法,如 SharedPreferences 加密、Keystore API 的使用。 权限管理与安全审计: 剖析 Android 的权限模型,理解运行时权限、危险权限等。学习如何合理设计应用权限,并利用工具进行安全审计,防范潜在的安全风险。 网络安全: 讲解 HTTPS/TLS/SSL 协议,理解证书校验、加密传输的重要性。学习如何处理 SSL 证书校验相关的安全问题,以及防止中间人攻击的措施。 第五部分:架构设计与工程实践 设计模式在 Android 中的应用: 深入剖析 MVC、MVP、MVVM、MVI 等经典设计模式在 Android 开发中的落地,讲解每种模式的优缺点,以及如何根据项目需求选择最适合的架构。 模块化与组件化: 讲解如何将大型 Android 项目拆解为可独立开发、测试、部署的模块,以及组件化架构的优势。学习如何使用 ARouter、WMRouter 等路由框架实现模块间的解耦。 持续集成与持续交付 (CI/CD): 介绍 Jenkins、GitLab CI、GitHub Actions 等 CI/CD 工具在 Android 开发中的应用,讲解如何自动化构建、测试、发布流程,提升开发效率和产品质量。 重构与代码质量提升: 强调代码可维护性和可读性的重要性。学习各种重构技巧,以及如何通过代码评审、静态代码分析等手段持续提升代码质量。 三、 学习本书能收获什么? 深厚的理论功底: 摆脱“知其然,不知其所以然”的局面,真正理解 Android 系统的底层运作原理,为解决复杂问题打下坚实基础。 卓越的技术视野: 掌握 Android 开发中的高级技术和最佳实践,能够独立设计和实现高性能、高可维护性的应用。 解决问题的能力: 能够运用书中介绍的工具和方法,快速定位和解决开发过程中遇到的各种疑难杂症。 职业发展的驱动力: 掌握这些核心技术,将极大地提升你在 Android 开发领域的竞争力,为你打开更广阔的职业发展空间。 成为技术引领者: 培养独立思考和创新的能力,让你能够在技术浪潮中保持敏锐的洞察力,甚至引领新的技术趋势。 四、 目标读者 本书适合以下人群阅读: 有一定 Android 开发基础,希望深入理解系统原理和高级特性的开发者。 在工作中遇到性能瓶颈、稳定性问题,需要系统性解决方案的工程师。 对 Android 系统底层架构、并发处理、安全机制有浓厚兴趣的爱好者。 希望提升自身技术能力,向高级工程师、技术专家发展的开发者。 《 Android 进阶之路:从原理到实践 》是一本献给所有渴望在 Android 开发领域达到更高境界的工程师的诚意之作。我们期待与你一起,踏上这场激动人心的技术探索之旅,共同铸就 Android 开发的辉煌。

用户评价

评分

天哪,我得说,《深入剖析 Android新特性》这本书简直就是我期待已久的“救世主”!作为一个每天都在和 Android 屏幕打交道的开发者,我经常感到力不从心。Android 的生态系统变化太快了,每次更新系统,都感觉需要重新学习一大堆东西。这本书就像一位经验丰富的老友,耐心地引导我一步步理解那些复杂而令人兴奋的新变化。我尤其欣赏它在讲解性能优化方面的角度,书中不仅仅是简单地告诉你“要优化”,而是深入到各个子系统,比如电池管理、后台调度,甚至是网络请求的底层处理方式,都进行了细致的分析。它解释了 Android 12 引入的隐私仪表板和权限API的变更,让我明白如何更安全、更负责任地处理用户数据,这在当前隐私保护日益重要的时代尤为关键。书中关于 WorkManager 的深入分析也让我受益匪浅,之前我总是用各种 hacky 的方式来处理后台任务,读完这本书,我才意识到 WorkManager 提供的强大而灵活的解决方案,真正解决了困扰我很久的痛点。而且,它对 CameraX 的讲解也十分到位,让原本复杂的相机开发变得触手可及,我甚至能够轻松地集成一些高级的相机功能。这本书的语言风格非常朴实,但字字珠玑,没有丝毫的废话,每一页都充满了干货。

评分

我是一位 Android 初学者,对这个平台的认识还处于一个懵懂的阶段。在朋友的推荐下,我拿到了《深入剖析 Android新特性》这本书。一开始我担心这本书的难度会很高,可能会让我望而却步。但让我意外的是,虽然书名听起来很专业,但作者的写作风格却非常易于理解。他用生动的语言和丰富的图解,将 Android 的一些复杂的新特性,比如 ART 虚拟机的一些优化,或者是新的动画框架,解释得就像在讲故事一样。我最喜欢的部分是关于后台服务和生命周期的讲解,书中用非常直观的方式展示了各种场景下服务组件的生命周期,让我一下子就明白了之前一直感到困惑的地方。我还学到了很多关于文件存储和数据库操作的新方法,这些都是我以前从未接触过的。这本书让我对 Android 的理解不再停留在表面,而是开始触及到一些更底层的原理。虽然我可能还无法完全理解书中的所有技术细节,但它已经在我心中种下了一颗对 Android 技术深深着迷的种子。我相信,随着我技术的不断进步,这本书一定会成为我案头的常备工具书。

评分

书籍名称:深入剖析 Android新特性 这本书真是让我眼前一亮!我一直对 Android 的底层机制和新引入的特性充满好奇,尤其是近几年 Android 版本更新的速度非常快,许多强大的新功能涌现出来,让人应接不暇。当我看到《深入剖析 Android新特性》这个书名时,就觉得这正是我一直在寻找的宝藏。迫不及待地翻开它,我的感觉就像是进入了一个精心构建的知识殿堂。作者并没有简单地罗列 API,而是花了大量篇幅去解释这些新特性背后的设计理念、实现原理以及它们如何与现有的 Android 框架协同工作。例如,书中对 Jetpack Compose 的剖析,不仅仅是展示了如何用声明式 UI 编写界面,更深入地讲解了其背后的渲染机制、状态管理以及与传统 View 体系的兼容性。我特别喜欢它对于内存管理新机制的解读,以前我对这方面一直有些模糊,但通过书中详细的图示和代码示例,我才真正理解了 Project Treble 带来的模块化改进,以及一些新的垃圾回收策略是如何优化应用性能的。读完这部分,我感觉自己对 Android 性能调优有了全新的认识,迫不及待想在实际项目中应用这些技巧。而且,书中对 Kotlin Coroutines 在异步编程中的应用讲解得非常透彻,让原本复杂的并发编程变得清晰易懂。总的来说,这本书的知识密度和深度都超出了我的预期,绝对是 Android 开发者提升技术硬实力的一本必读书籍。

评分

说实话,一开始我对《深入剖析 Android新特性》抱有一丝怀疑,毕竟“深入剖析”四个字听起来就很有挑战性。然而,翻开这本书之后,我彻底被打动了。它不仅仅是一本技术手册,更像是一堂高质量的在线课程,只不过是以纸质书的形式呈现。作者的讲解逻辑清晰,循序渐进,即使是一些非常晦涩的概念,也能被他解释得明明白白。我尤其被书中对 UI 布局优化新策略的探讨所吸引,它详细分析了 ConstraintLayout 的一些高级用法,以及如何通过测量和布局过程来提升界面的渲染效率。书中对暗黑模式的实现原理和适配策略的讲解,也为我解决了很多实际项目中的难题。另外,它对 Android 13 中引入的通知权限管理和分区的存储访问进行了深入的剖析,让我对如何更好地管理用户权限有了更深刻的理解。让我惊喜的是,书中还触及了一些关于多窗口和分屏交互的新特性,并给出了非常实用的实现建议,这对于开发支持平板和折叠屏的设备开发者来说,绝对是福音。这本书的内容覆盖面广,但又不失深度,对于想要全面了解 Android 最新发展趋势的开发者来说,这本书绝对是不可多得的宝藏。

评分

《深入剖析 Android新特性》这本书,简直是我近期阅读体验中最惊艳的一本!我是一名经验丰富的 Android 开发者,一直都在努力跟上 Android 技术的步伐。市场上关于 Android 新特性的书籍不少,但很多都只是浅尝辄止,或者过于理论化。《深入剖析 Android新特性》却做到了一个非常难得的平衡。它不仅深入讲解了新 API 的使用方法,更重要的是,它挖掘了这些 API 背后的设计哲学和实现原理。例如,书中关于 Jetpack DataStore 的讲解,就不仅仅是告诉你如何存储数据,还深入剖析了其与 SharedPreferences 的对比,以及在性能和线程安全方面的优势。我尤其喜欢它对 Material Design 3 的详细解读,书中不仅列举了新增的组件和样式,还提供了如何将其应用于现有项目中的具体指导,并且对主题和颜色的系统性调整进行了深入分析,这对于提升应用的视觉体验至关重要。此外,书中对 Android Studio 中一些隐藏的强大调试工具和性能分析工具的介绍,也让我大开眼界。这本书的内容非常扎实,技术点也很前沿,绝对是能够帮助开发者在技术浪潮中保持领先地位的利器。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有