高性能iOS應用開發 (High Performance iOS Apps: Optimize your code for better apps) 高性能iOS应用开发

高拉夫·瓦依希 (Gaurav Vaish)

  • 出版商: 人民郵電
  • 出版日期: 2017-04-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 359
  • 裝訂: 平裝
  • ISBN: 7115451206
  • ISBN-13: 9787115451200
  • 相關分類: Apple Developer
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

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

目錄大綱

第一部分開始


第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 UIKi t框架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