网站颜色:

高性能iOS应用开发 iOS开发 提升应用性能的实践 让App飞起来的软硬件解决之道.

  • 产品名称:高性能iOS应用开发
  • 品牌:POSTS&TELECOMPRESS/人民邮电出版社
  • 书名:高性能iOS应用开发
  • 作者:GauravVaish
  • 定价:89.00元
  • 书名:高性能iOS应用开发
  • 是否是套装:否
  • 出版社名称:人民邮电出版社


目录

译者序  xv 

前言  xvii 

DIYI部分  开始 

第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 

(咨询特价)  循环引用  43 

(咨询特价).1  避免循环引用的规则  45 

(咨询特价).2  循环引用的常见场景  46 

(咨询特价).3  观察者  56 

(咨询特价).4  返回错误  59 

(咨询特价)  弱类型:id  59 

(咨询特价)  对象寿命与泄漏  61 

(咨询特价)  单例  62 

(咨询特价)  找到神秘的持有者  64 

(咨询特价)  ZUI佳实践  65 

(咨询特价)  生产环境的内存使用情况  66 

(咨询特价)  小结  67 

第3章 能耗  68 

3.1  CPU  68 

3.2  网络  70 

3.3  定位管理器和GPS  73 

3.3.1  ZUI佳的初始化  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  ZUI佳实践  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  ZUI佳实践  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  搜索ZUI佳实践  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应用的性能。全书共5个部分,主要从性能的衡量标准、对应用至关重要的核心优化点、iOS应用开发特有的性能优化技术以及性能的非代码方面,讲解了应用性能的优化问题。本书的主要目的是展示如何从工程学的角度编写ZUI优代码。本书适合已经具有Objective-CiOS实践经验的开发人员阅读。


作者介绍

Gaurav Vaish  就职于雅虎公司的移动和新兴产品团队,为每月有数亿人使用的移动应用创建优雅的可重用方案。他曾是IIT全球指导计划的成员,还在印度班加罗尔创立了InColeg LearningEdujini Labs有限公司。

热门设计服务