• 高性能iOS应用开发
21年品牌 40万+商家 超1.5亿件商品

高性能iOS应用开发

正版保障 假一赔十 可开发票

55.82 6.3折 89 全新

库存9件

广东广州
认证卖家担保交易快速发货售后保障

作者[印]Gaurav Vaish

出版社人民邮电出版社

ISBN9787115451200

出版时间2016-08

装帧平装

开本16开

定价89元

货号8942473

上书时间2024-12-22

灵感书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
Gaurav Vaish  就职于雅虎公司的移动和新兴产品团队,为每月有数亿人使用的移动应用创建优雅的可重用方案。他曾是IIT全球指导计划的成员,还在印度班加罗尔创立了InColeg Learning及Edujini Labs有限公司。
梁士兴  毕业于北京航空航天大学,现任职美团-大众点评iOS高级技术专家。有多年的一线iOS开发经验,对于iOS应用性能有深入研究和独到见解。对iOS前沿技术、移动应用架构模式非常感兴趣。
郝田田  毕业于西安电子科技大学,现任职美团-大众点评iOS研发工程师,具有丰富的iOS软件开发经验,长期关注iOS领域前沿技术,曾参与数本iOS技术类书籍翻译工作。
陈作君  毕业于北京理工大学,现任职滴滴出行iOS研发工程师,多年大型移动端应用开发经验,热衷于开源项目建设,是一名技术书籍翻译的爱好者。

目录
译者序  xv 
前言  xvii 
第一部分  开始 
第1章 移动应用的性能  3 
1.1 定义性能  3 
1.2 性能指标  4 
1.2.1 内存  4 
1.2.2 电量消耗  4 
1.2.3 初始化时间  4 
1.2.4 执行速度  5 
1.2.5 响应速度  5 
1.2.6 本地存储  5 
1.2.7 互操作性  6 
1.2.8 网络环境  7 
1.2.9 带宽  7 
1.2.10 数据刷新  8 
1.2.11 多用户支持  8 
1.2.12 单点登录  9 
1.2.13 安全  9 
1.2.14 崩溃  10 
1.3  应用性能分析  10 
1.3.1  采样  10 
1.3.2  埋点  10 
1.4  测量  11 
1.4.1  设置工程与代码  11 
1.4.2  设置崩溃报告  12 
1.4.3  对应用埋点  13 
1.4.4  日志  17 
1.5  小结  19 
第二部分 核心优化 
第2章 内存管理  23 
2.1  内存消耗  23 
2.1.1  栈大小  24 
2.1.2  堆大小  25 
2.2  内存管理模型  27 
2.3  自动释放对象  28 
2.4  自动释放池块  30 
2.5  自动引用计数  32 
2.6  引用类型  35 
2.6.1  变量限定符  36 
2.6.2  属性限定符  37 
2.7  实践环节  38 
2.7.1  照片模型  38 
2.7.2  更新故事板  38 
2.7.3  方法实现  39 
2.7.4  输出分析  41 
2.8  僵尸对象  42 
2.9  内存管理规则  43 
2.10  循环引用  43 
2.10.1  避免循环引用的规则  45 
2.10.2  循环引用的常见场景  46 
2.10.3  观察者  56 
2.10.4  返回错误  59 
2.11  弱类型:id  59 
2.12  对象寿命与泄漏  61 
2.13  单例  62 
2.14  找到神秘的持有者  64 
2.15  最佳实践  65 
2.16  生产环境的内存使用情况  66 
2.17  小结  67 
第3章 能耗  68 
3.1  CPU  68 
3.2  网络  70 
3.3  定位管理器和GPS  73 
3.3.1  最佳的初始化  74 
3.3.2  关闭无关紧要的特性  75 
3.3.3  只在必要时使用网络  76 
3.3.4  后台定位服务  77 
3.3.5  NSTimer、NSThread 和定位服务  77 
3.3.6  在应用关闭后重启  78 
3.4  屏幕  78 
3.4.1  动画  78 
3.4.2  视频播放  78 
3.4.3  多屏幕  79 
3.5  其他硬件  83 
3.6  电池电量与代码感知  83 
3.7  分析电量使用  85 
3.8  最佳实践  86 
3.9  小结  88 
第4章 并发编程  89 
4.1  线程  89 
4.2  线程开销  90 
4.2.1  内核数据结构  90 
4.2.2  栈空间  90 
4.2.3  创建耗时  90 
4.3  GCD  91 
4.4  操作与队列  92 
4.5  线程安全的代码  93 
4.5.1  原子属性  93 
4.5.2  同步块  94 
4.5.3  锁  96 
4.5.4  将读写锁应用于并发读写  100 
4.5.5  使用不可变实体  102 
4.5.6  使用集中的状态更新服务  106 
4.5.7  状态观察者与通知  110 
4.5.8  异步优于同步  114 
4.6  小结  116 
第三部分 iOS 性能 
第5章 应用的生命周期  119 
5.1  应用委托  119 
5.2  应用启动  121 
5.2.1  首次启动  123 
5.2.2  冷启动  129 
5.2.3  热启动  135 
5.2.4  升级后启动  137 
5.3  推送通知  138 
5.3.1  远程通知  138 
5.3.2  本地通知  141 
5.4  后台拉取  142 
5.5  小结  144 
第6章 用户界面  145 
6.1  视图控制器  146 
6.1.1  视图加载  149 
6.1.2  视图层级  150 
6.1.3  视图可见性  152 
6.2  视图  154 
6.2.1  UILabel  155 
6.2.2  UIButton  156 
6.2.3  UIImageView  157 
6.2.4  UITableView  158 
6.2.5  UIWebView  161 
6.2.6  自定义视图  164 
6.3  自动布局  170 
6.4  尺寸类别  171 
6.5  iOS  8 中新的交互特性  175 
6.5.1  交互式通知  175 
6.5.2  应用扩展  176 
6.6  小结  179 
第7章 网络  180 
7.1  指标和测量  180 
7.1.1  DNS 查找时间  181 
7.1.2  SSL 握手时间  182 
7.1.3  网络类型  183 
7.1.4  延迟  188 
7.1.5  网络API  190 
7.2  应用部署  190 
7.2.1  服务器  191 
7.2.2  请求  191 
7.2.3  数据格式  192 
7.3  工具  193 
7.3.1  网络链接调节器  193 
7.3.2  AT & T 应用资源优化器  194 
7.3.3  Charles  196 
7.4  小结  199 
第8章 数据共享  200 
8.1  深层链接  200 
8.2  剪贴板  205 
8.3  共享内容  208 
8.3.1  文档交互  209 
8.3.2  活动  215 
8.4  iOS  8 扩展  217 
8.4.1  配置操作扩展和共享扩展  219 
8.4.2  操作扩展  220 
8.4.3  共享扩展  221 
8.4. 4 文档提供者扩展  223 
8.4.5  应用群组  228 
8.5  小结  230 
第9章 安全  231 
9.1  应用访问  232 
9.1.1  匿名访问  232 
9.1.2  认证访问  234 
9.2  网络安全  237 
9.2.1  使用HTTPS  237 
9.2.2  使用证书锁定  238 
9.3  本地存储  242 
9.4  数据共享  248 
9.5  安全和应用性能  248 
9.6  清单  248 
9.7  小结  250 
第四部分 代码之外 
第10章 测试及发布  253 
10.1  测试类型  253 
10.2  定义  254 
10.3  单元测试  255 
10.3.1  设置  255 
10.3.2  编写单元测试  256 
10.3.3  代码覆盖率  258 
10.3.4  异步操作  262 
10.3.5  Xcode  6 福利:性能单元测试  263 
10.3.6  模拟依赖  265 
10.3.7  其他框架  268 
10.4  功能测试  268 
10.4.1  设置  269 
10.4.2  编写功能测试  271 
10.4.3  工程结构  273 
10.5  隔离依赖  274 
10.6  测试及组件设计  275 
10.7  持续集成与自动化  277 
10.8  最佳实践  278 
10.9  小结  282 
第11章 工具  283 
11.1  Accessibility Inspector  283 
11.1.1  Xcode Accessibility Inspector  284 
11.1.2  iOS Accessibility Inspector  285 
11.2  Instruments  288 
11.2.1  使用Instruments  289 
11.2.2  活动监视器  291 
11.2.3  内存分配  292 
11.2.4  内存泄漏  295 
11.2.5  网络  296 
11.2.6  时间分析器  297 
11.3  Xcode 视图调试器  298 
11.4  PonyDebugger  300 
11.5  Charles  304 
11.6  小结  309 
第12章 埋点与分析  310 
12.1  词汇  310 
12.2  埋点  312 
12.2.1  规划  312 
12.2.2  实现  314 
12.2.3  部署  316 
12.3  分析  317 
12.4  真实用户监控  317 
12.4.1  分析与真实用户监控对比  317 
12.4.2  使用真实用户监控  318 
12.5  小结  318 
第五部分 iOS  9 
第13章 iOS  9  321 
13.1  应用的生命周期  321 
13.1.1  通用链接  322 
13.1.2  搜索  324 
13.1.3  搜索最佳实践  328 
13.2  用户界面  329 
13.2.1  UIKit 框架  330 
13.2.2  Safari 服务框架  332 
13.3  扩展  335 
13.3.1  内容拦截扩展  336 
13.3.2  Spotlight 索引扩展  338 
13.4  应用瘦身  339 
13.4.1  分割  339 
13.4.2  按需加载资源  340 
13.4.3  bitcode  343 
13.5  小结  344 
第14章 iOS  10  345 
14.1  Siri 扩展  346 
14.2  改进的通知  348 
14.2.1  申请权限  348 
14.2.2  触发器  348 
14.2.3  为通知添加交互  349 
14.2.4  完全自定义展示通知  350 
14.2.5  通知服务扩展  352 
14.3  iMessage 扩展  354 
14.4  VoIP 支持  357 
作者介绍  359 
封面介绍  359

内容摘要
    靠前章

    移动应用的性能

    本书假设你是iOS开发人员,有长期开发原生iOS应用的经验,并且希望能够从众人中脱颖而出,跻身于很好开发人员之列。

    参考以下统计数据。

    ·应用抢先发售工作出错以后,79%的用户只会再重试一两次。

    ·当应用载入时间超过3秒时,25%的用户会放弃使用该应用。

    ·31%的用户会将糟糕的体验转告他人。

    这些数据强调了性能对应用的重要性。应用能否被用户所认可不仅仅取决于其功能,还取决于当与用户交互时,应用能否提供流畅的体验。

    几乎完成任意特定任务的应用都能在AppStore中找到大量的替代品。但用户只会坚持使用其中的某一款。被选中的这一款要么无可取代,要么极少出现故障且性能格外出众。

    性能会受许多重要因素所影响,这些因素包括内存消耗、网络带宽效率以及用户界面的响应速度。我们先概述不同类型的性能特征,然后再对它们进行测量。

    1.1定义性能

    从技术视角严格来说,性能是很好模糊的术语。当一个人说"这是个髙性能的应用"时,其实我们无从判断他说的是什么。他是说应用消耗的内存少?应用节约了网络流量?还是说应用使用起来很好流畅?总而言之,髙性能有着多重的含义和丰富的解释方式。

    性能可以和我们后续讨论的多个要点关联起来。(需要测量和监控的)性能指标是其中的一个关注点,(实际上收集数据的)测量是另一个关注点。

    我们将在靠前1章深入探索测量的过程。提高工程参数的使用率是本书第二部分和第三部分的重点难题。

    1.2性能指标

    性能指标是面向用户的各种属性。每个属性可能是一个或多个可测量工程参数的一个要素。1.2.1内存

    内存涉及运行应用所需的RAM很小值,以及应用消耗的内存平均值和峰值。很小内存值会严重硬件,而更高的内存平均值和峰值意味着更多的后台应用会被强制关闭。

    同时还要确保没有泄漏内存。随时间流逝而持续增长的内存消耗意味着,应用很可能会因为内存不足的异常而崩溃。

    我们会在第2章中对内存进行深入讨论。

    1.2.2电量消耗

    在编写高性能代码时,电量消耗是一个需要重点处理的重要因素。就执行时间和CPU资源的利用而言,我们不仅要实现髙效的数据结构和算法,还需要考虑其他的因素。如果某个应用是个电池黑洞,那么一定不会有人喜欢它。

    电量消耗不仅仅与计算CPU周期有关,还包括高效地使用硬件。除了要实现电量消耗很小化,还要确保不会影响用户体验。

    我们将在第3章讨论这个问题。

主编推荐

本书为有经验的iOS开发者提供构建优异应用移动性能所需的开发建议和*实践,帮助读者解决常见性能问题。

 

作者Gaurav Vaish从工程角度演示了编写*代码的方法,详尽介绍如何设计和优化iOS应用,以便在网络较差、内存较低的情况下提供流畅的用户体验。书中还提供了可以反复使用的Objective-C代码,以及一些能够从众多应用中脱颖而出的高性能原生iOS应用。

 

•概述跟踪应用性能时需要衡量的参数以及如何衡量性能。

•通过*小化内存和功耗以及并发编程来编写高效应用,并探索一些相关选项。

•优化应用的生命周期和UI,以及网络、数据共享和安全功能。

•了解应用的测试、调试和分析工具,并监控应用

•从真实用户处收集数据来分析应用的使用情况,找出瓶颈,并进行修复
 

精彩内容
性能对用户体验有着至关重要的影响。本书将介绍对用户体验产生负面影响的各个方面,并概述如何优化iOS应用的性能。全书共5个部分,主要从性能的衡量标准、对应用至关重要的核心优化点、iOS应用开发特有的性能优化技术以及性能的非代码方面,讲解了应用性能的优化问题。本书的主要目的是展示如何从工程学的角度编写最优代码。本书适合已经具有Objective-C和iOS实践经验的开发人员阅读。

媒体评论
本书为有经验的iOS开发者提供构建优异应用移动性能所需的开发建议和最佳实践,帮助读者解决常见性能问题。
作者Gaurav Vaish从工程角度演示了编写最佳代码的方法,详尽介绍如何设计和优化iOS应用,以便在网络较差、内存较低的情况下提供流畅的用户体验。书中还提供了可以反复使用的Objective-C代码,以及一些能够从众多应用中脱颖而出的高性能原生iOS应用。
·概述跟踪应用性能时需要衡量的参数以及如何衡量性能。
·通过最小化内存和功耗以及并发编程来编写高效应用,并探索一些相关选项。
·优化应用的生命周期和UI,以及网络、数据共享和安全功能。
·了解应用的测试、调试和分析工具,并监控应用·从真实用户处收集数据来分析应用的使用情况,找出瓶颈,并进行修复

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP