高性能iOS套用開發

高性能iOS套用開發

《高性能iOS套用開發》是2019年3月人民郵電出版社出版的圖書,作者是[美]高拉夫·瓦依希(Gaurav Vaish)。

基本介紹

  • 中文名:高性能iOS套用開發
  • 作者:[美]高拉夫·瓦依希(Gaurav Vaish)
  • 出版社:人民郵電出版社
  • 出版時間:2019年3月
  • 頁數:359 頁
  • 定價:89 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115451200
內容簡介,圖書目錄,

內容簡介

性能對用戶體驗有著到關重要的影響。本書將介紹對用戶體驗產生負面影響的各個方面,並概述如何最佳化iOS套用的性能。全書共5個部分,主要從性能的衡量標準、對套用到關重要的核心最佳化點、iOS套用開發特有的性能最佳化技術以及性能的非代碼方面,講解了套用性能的最佳化問題。本書的主要目的是展示如何從工程學的角度編寫優質代碼。本書適合已經具有Objective-C和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

相關詞條

熱門詞條

聯絡我們