网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 iOS性能优化实战
分类 教育考试-考试-计算机类
作者 珲少编
出版社 电子工业出版社
下载
简介
目录
章 关于性能你需要知道的事\t1
1.1 衡量应用程序性能优劣的一些标准\t1
1.1.1 代码的执行效率\t2
1.1.2 内存占用\t4
1.1.3 CPU负担与能耗\t5
1.1.4 动画流畅度\t7
1.1.5 网络缓存\t8
1.1.6 应用程序启动时间\t9
1.1.7 应用程序包尺寸\t9
1.2 Xcode断点与静态分析工具\t10
1.2.1 添加自定义断点\t10
1.2.2 为自定义断点添加行为\t11
1.2.3 添加全局类型的断点\t13
1.2.4 Xcode的静态分析工具\t14
1.3 Instruments:性能分析和测试工具\t16
1.3.1 Activity Monitor:活动监视器\t16
1.3.2 Allocations:内存跟踪工具\t17
1.3.3 CoreAnimation:核心动画监测工具\t19
1.3.4 Counters:仪表计数器\t20
1.3.5 Energy Log:能耗记录器\t21
1.3.6 Leaks:内存泄漏检查工具\t22
1.3.7 Network:网络连接检查工具\t23
1.3.8 自定义Instruments工具模板\t23
1.4 使用LLDB调试工具\t25
1.4.1 使用expression指令进行动态代码执行\t25
1.4.2 使用frame指令查看代码帧信息\t27
1.4.3 使用thread相关指令操作线程\t29
1.4.4 其他LLDB常用指令\t33
1.5 日志与埋点\t34
1.5.1 异常分析\t35
1.5.2 使用Bugly异常捕获工具\t41
1.5.3 应用程序埋点\t43
1.5.4 使用Fabric分析工具\t43
第2章 iOS内存管理\t45
2.1 iOS的内存管理模型\t45
2.1.1 关于内存消耗与引用计数\t45
2.1.2 MRC内存管理\t46
2.1.3 关于ARC\t49
2.1.4 属性修饰符\t51
2.1.5 ARC与MRC进行混编\t53
2.2 自动释放内存\t54
2.2.1 关于autorelease方法\t55
2.2.2 自动释放池\t57
2.2.3 系统维护的自动释放池\t59
2.3 杜绝内存泄漏\t60
2.3.1 Block与循环引用\t61
2.3.2 代理与循环引用\t63
2.3.3 定时器引起的内存泄漏\t65
2.4 关于“僵尸”对象\t66
2.4.1 捕获“僵尸”对象\t66
2.4.2 处理“僵尸”对象\t68
2.5 CoreFoundation框架中的内存管理\t71
2.5.1 CoreFoundation中的引用计数\t71
2.5.2 CoreFoundation框架与Foundation框架混用\t72
2.6 扩展:关于id与void*\t74
2.6.1 关于id类型\t74
2.6.2 关于void与void*\t75
2.6.3 解决最初的问题\t76
第3章 应用程序网络与能耗优化\t77
3.1 深入iOS网络开发技术\t77
3.1.1 初识NSURLSession\t79
3.1.2 NSURLConnection的简单应用\t83
3.1.3 请求对象NSURLRequest\t85
3.1.4 请求回执对象NSURLResponse\t87
3.1.5 数据缓存对象NSURLCache\t88
3.1.6 本地用户凭证对象NSHTTPCookie\t90
3.1.7 使用第三方网络诊断库――LDNetDiagnoService_IOS\t92
3.2 iOS网络开发及优化秘技\t96
3.2.1 使用Charles抓包工具\t96
3.2.2 使用Charles进行HTTPS抓包\t100
3.2.3 使用Charles进行网络环境模拟\t102
3.2.4 使用Charles添加请求断点\t104
3.2.5 使用Charles进行数据模拟\t106
3.2.6 Charles的请求重写功能\t108
3.2.7 使用Mock.js搭建本地数据模拟服务\t110
3.2.8 学习使用JSONModel库\t116
3.2.9 属性自动生成工具\t121
3.3 定位与地图\t130
3.3.1 使用定位服务\t130
3.3.2 原生地图开发\t133
3.3.3 添加大头针与自定义标注\t136
3.3.4 添加地图覆盖物\t138
3.3.5 检索附近兴趣点和导航服务\t140
3.4 定时器应用\t146
3.4.1 NSTimer的简单应用\t146
3.4.2 关于RunLoop的一些探究\t148
3.4.3 中心化管理NSTimer定时器\t149
3.4.4 CADisplayLink类的应用\t153
3.4.5 使用GCD方式的定时器\t154
第4章 从应用程序启动说起\t156
4.1 应用程序的启动原理\t156
4.1.1 深入UIApplication类\t156
4.1.2 UIApplication相关类别介绍\t159
4.1.3 关于UIApplicationDelegate\t162
4.2 本地通知与远程推送\t166
4.2.1 使用本地推送\t166
4.2.2 远程推送基础\t169
4.2.3 深入理解UserNotification框架\t174
4.3 PushKit框架与CallKit框架\t189
4.3.1 VoIP与PushKit\t190
4.3.2 学习使用CallKit框架\t192
4.3.3 来电拦截与号码识别\t199
第5章 深入iOS视图与动画\t204
5.1 关于视图控制器\t204
5.1.1 UIViewController的生命周期\t204
5.1.2 从StoryBoard加载UIViewController对象的传值陷阱\t207
5.1.3 关于UIViewController的切换\t209
5.2 视图控制器的转场动画\t210
5.2.1 UIViewController的模态跳转转场\t211
5.2.2 导航转场动画的自定义\t218
5.2.3 UITabBarController的转场动画\t221
5.3 列表视图的性能优化\t221
5.3.1 UITableView的构建原理\t221
5.3.2 对UITableView可变行高的优化方式\t224
5.3.3 关于高度不定的列表分区头、尾视图\t228
5.4 iOS图像绘制技术\t230
5.4.1 CGPath路径类\t231
5.4.2 理解图形上下文\t238
5.4.3 颜色与色彩空间\t252
5.4.4 图形变换函数\t258
5.4.5 Patterns模型的应用\t259
5.4.6 绘制梯度渐变视图\t263
5.4.7 进行图像处理\t268
5.4.8 关于层聚合\t272
5.5 iOS核心动画技术\t275
5.5.1 初识CoreAnimation\t275
5.5.2 深入理解CALayer\t277
5.5.3 几种常用的CALayer子类\t282
5.5.4 CoreAnimation动画\t287
第6章 iOS多线程开发技术\t293
6.1 使用NSThread进行线程管理\t293
6.1.1 NSThread中常用类方法\t293
6.1.2 NSThread成员方法和属性的应用\t295
6.1.3 隐式地使用NSThread进行多线程编程\t296
6.2 NSOperation与NSOperationQueue的应用\t296
6.2.1 关于Operation基类的解析\t296
6.2.2 NSBlockOperation类的应用\t297
6.2.3 NSInvocationOperation类的应用\t299
6.2.4 操作之间的依赖关系\t300
6.2.5 NSOperationQueue操作队列的应用\t301
6.3 学习使用GCD\t303
6.3.1 GCD的调度机制\t303
6.3.2 添加任务到调度队列中\t304
6.3.3 使用队列组\t305
6.3.4 GCD对循环任务的处理\t308
6.3.5 GCD中的消息与信号\t309
6.3.6 队列的挂起与开启\t310
6.3.7 使用GCD处理延时任务\t310
6.3.8 数据存取的线程安全问题\t311
6.3.9 GCD模式的单例\t313
6.3.10 关于GCD中的内存管理\t314
第7章 iOS运行时技术\t315
7.1 动态的Objective-C语言\t315
7.1.1 窥探消息转发机制\t316
7.1.2 消息传递与继承链\t318
7.1.3 拯救未知消息的三根救命稻草\t320
7.1.4 你真的需要救命稻草吗\t324
7.1.5 发送消息相关的几个函数\t328
7.2 运行时方法解析\t331
7.2.1 与运行时相关的类操作函数\t332
7.2.2 与运行时相关的实例对象属性操作函数\t334
7.2.3 与运行时相关的实例对象方法操作函数\t337
7.2.4 与运行时相关的协议操作函数\t340
7.3 运行时特性的基本应用\t341
7.3.1 操作变量的巧妙方法\t341
7.3.2 操作方法的巧妙方法\t345
7.4 使用运行时动态修改UILabel的默认字体\t348
7.4.1 使用框架统一处理\t348
7.4.2 使用运行时函数替换UILabel的初始化方法\t348
7.5 设置可自动归档的数据模型基类\t352
第8章 JavaScript与Native交互技术的应用\t354
8.1 JavaScriptCore框架详解\t354
8.1.1 JavaScriptCore框架中的几个核心类\t355
8.1.2 在Native中运行JavaScript脚本代码\t356
8.1.3 在JavaScript脚本中调用Objective-C Native方法\t358
8.1.4 深入JSContext类\t359
8.1.5 深入JSValue类\t360
8.1.6 Objective-C与JavaScript复杂对象的映射\t365
8.1.7 C语言风格的API\t366
8.1.8 设计Hybird App框架\t371
8.2 WebKit框架的应用\t377
8.2.1 WebKit框架概览\t377
8.2.2 使用WKWebViewConfiguration对WebView进行配置\t379
8.2.3 WKWebView中的属性和方法解析\t382
8.2.4 WKWebView中的JavaScript与Native交互\t384
8.2.5 WKNavigationDelegate协议中的方法解析\t385
8.2.6 WKUIDelegate协议中的方法解析\t388
第9章 iOS扩展开发\t390
9.1 Today扩展的应用\t390
9.1.1 创建Today扩展程序\t391
9.1.2 Today扩展与宿主应用程序进行数据交互\t393
9.2 分享扩展的应用\t396
9.3 照片编辑扩展\t399
9.4 自定义键盘扩展\t400
9.4.1 了解UIInputViewController类\t400
9.4.2 创建自定义的数字输入键盘\t401
9.5 iMessage扩展的应用\t404
9.5.1 开发独立的表情包\t404
9.5.2 开发寄宿于宿主应用程序的表情包扩展\t406
9.5.3 开发iMessage App\t407
9.5.4 对开发iMessage App的几点建议\t418
内容推荐
所谓性能,无非是一种指标,在软件开发中,性能指标往往会关注两个方面:效率和消耗。效率主要是指代码的执行效率,动画的流畅度,应用的冷启动时间和热启动时间,网络通讯的阻塞时间等等。消耗只要是指内存的消耗,有没有内存泄露,CPU的占用率,耗电与应用程序包尺寸等。
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/29 3:53:12