|
-- 會員 / 註冊 --
|
|
|
|
Android高性能編程 ( 簡體 字) |
作者:葉坤 | 類別:1. -> 程式設計 -> 手機程式 -> Android |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 48476 詢問書籍請說出此書號!【缺書】 NT售價: 495 元 |
出版日:1/1/2018 |
頁數:400 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121328879 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:序言 應用程序在移動世界中能否成功,性能是其中一個關鍵的因素。如果一個應用程序運行緩慢,用戶可能會放棄繼續使用它。學習如何創建一個應用程序,讓程序在速度、性能,以及功能交互之間達到平衡,將會是一個挑戰。做到這點比以往任何時候都更重要。 《Android高性能編程》將讓你學習到如何讓程序能夠運行到盡可能多的硬件設備上,使得應用程序覆蓋更多用戶。這本書首先簡要地介紹了Android開發中一些最先進的技術,以及性能對Android應用程序的重要性。接著,介紹了使用Android SDK工具,對Android應用程序進行調試和分析的常規做法。本書將討論一些先進的主題,例如,打造布局、多線程、網絡以及安全。電池電量是應用程序的最大瓶頸之一,本書將通過典型的代碼,闡釋如何減少電量消耗,以及在不同情形下如何測量電量的消耗。 本書探討的技術,是為打造一個優化高效的系統。這是一個不會消耗大量電量,或引起內存泄露,隨著時間的推移,運行越來越慢的系統。 這本書涵蓋了什么 第1章,引言:為什么需要高性能?對主題進行概要介紹,簡要分析了Android平臺的現狀,以及高性能對Android應用程序的重要性。 第2章,高效調試。涵蓋了調試和分析Android應用程序常用的一些工具, 不僅限于Android SDK 所提供的,還包括一些第三方的。 第3章,打造布局。展示優化Android程序的相關技術,編寫內存高效的應用程序,并介紹內存分配以及垃圾回收的相關概念。 第4章,內存。提供了許多UI設計方面的見解,通過學習這些內容,打造加載迅速,更新高效,不會令用戶察覺到延遲的UI界面。 第5章,多線程。介紹了Android應用程序中可供使用的各種線程,以及它們特定的使用場景。一些先進的技術,例如IPC,將會通過代碼示例來展示。 第6章,網絡。介紹了高效操作網絡的相關技術,以及從服務端獲取數據的一些技術,例如指數退避算法或避免輪詢。 第7章,安全。涵蓋了確保Android應用程序安全的相關技術,如何利用Android自帶的安全加密機制,以及如何獲取關于連接的信息,或者只是在連接變化的時候得到通知。 第8章,優化電量消耗。通過典型的代碼,演示如何耗盡電池的電量,如何阻止它,以及在各種情形下如何權衡電量的消耗;許多開發者不知道,開發一個拍照或錄制視頻的應用程序時,任何處理預覽以及保存數據。 第9章,Android中的原生代碼。這一章節將全部用于介紹Android中的原生代碼和C++以及它們的用法。 第10章,性能提示。幫助開發者在平時的開發中,避開影響效率的方案;這是前面章節中未涉及的一個最佳實踐指南。 你需要準備什么? 你需要準備以下硬件設備。 ? 運行環境為Windows、Linux,或者Mac OS X 的PC/筆記本電腦。 ? Android手機。最好是高端一點的,并且系統版本高于Android5.0。 這本書為誰而寫? 這本書是為那些已經擁有豐富Android知識,想要進一步鞏固和學習技術,來提高應用程序性能的開發者而寫的。我假設他們已經熟悉整個Android SDK,且為此工作了多年。他們也熟悉Android框架,比如,能使用NDK編寫原生代碼,NDK對性能來說至關重要。 約定 本書會涉及幾種不同的文本樣式,分別代表不同類型的信息。下面展示了其中一些樣式及它們代表的意思。 代碼文本、數據庫表名、文件名、文件擴展名、路徑、URLs、用戶輸入,以及推特賬號名的文本樣式如下。 “If you go to this folder and call the command adb, you will see on the screen a list of available options.” 代碼塊的格式如下。 <resources> <style name=”Theme.NoBackground”parent=”android:Theme”> <item name=”android:windowBackground”>@null</item> </style> </resources> 任何命令行輸入輸出的格式如下。 adb shell dumbsys gfxinfo <PACKAGE_NAME> 新條款以及重要的詞會以黑體展示。屏幕上顯示的單詞,例如菜單或者對話框內出現的文本格式類似這樣:“To debug the overdraw on the device,Android provides a helpful tool that can be enabled inside the Developer options.”
警告或重要提示或出現這樣一個框框中。 |
內容簡介:本書旨在為Android開發者指明提高應用程序性能的方向。第1章就什么是高性能,為什么需要高性能展開討論。第2章為讀者展示了一些用于調試應用程序的工具,方案以及技巧。第3-8章,圍繞著布局,內存,多線程,網絡,安全,電量消耗,等多個方面,闡述如何打造高性能應用程序。第9章相對獨立,介紹的是原生開發。第10章與前面章節的關系也不大,涵蓋了一些瑣碎,但對性能至關重要的提示,例如,圖像處理,序列化,優化APK文件等等。 |
目錄:1 引言:為什么需要高性能? 1 為什么應用程序的性能意味著這么多? 2 手動測試和自動測試 3 ANR和軟件中的延遲 3 什么會觸發ANR,我該如何避免它們? 4 Android架構 4 Dalvik虛擬機 5 內存管理 5 電量消耗 6 Java語言 7 NDK/在需要時進行原生開發 7 程序響應相關的3個臨界值 8 軟件質量的商業價值 8 總結 9 2 高效調試 11 ADB 11 DDMS 12 采集和分析線程信息 14 堆分析和可視化 16 Allocation Tracker 19 網絡使用 20 Emulator Control 22 系統狀態 23 調試UI 24 使用Hierarchy Viewer 26 Systrace 28 Android設備調試選項 29 Android即時運行 38 GPU分析器 39 使用GPU分析器進行調試 41 ClassyShark 42 開始使用 42 總結 46 3 打造布局 47 預覽 47 渲染性能 47 屏幕撕裂和垂直同步 50 多窗口模式 57 最佳實踐 63 布局概述 64 布局層次管理 64 布局復用 70 ViewStub 73 AdapterView和視圖回收 74 自定義視圖和布局 78 屏幕縮放 83 調試工具 84 Design窗口 85 Hierarchy Viewer 86 設備上的調試工具 90 Systrace 97 總結 101 4 內存 103 預覽 103 內存如何工作 104 垃圾回收 104 內存共享 104 運行時 105 Android N 即時編譯器 106 內存泄露 107 內存抖動 108 引用 108 內存相關的項目 109 最佳實踐 111 數據類型 111 語法 117 常量 123 對象管理 124 內存設計模式 129 Android組件泄露 137 進程 150 內存API 151 主要組件和內存管理 153 調試工具 156 LogCat 156 ActivityManager API 159 StrictMode 160 Dumpsys 161 總結 168 5 多線程 169 預覽 169 線程基礎 170 Android多線程環境 174 Android應用程序線程 175 Android線程消息 176 最佳實踐 179 線程 179 HandlerThread 179 AsyncTask 181 Loaders 185 Services 188 進程間通信 197 先進的技術 202 調試工具 210 StrictMode 210 總結 211 6 網絡 213 預覽 213 協議 215 方法 216 頭部 216 超時 217 內容 217 響應碼 218 連接類型 218 最佳實踐 219 延遲測定 219 批量連接 221 對響應進行緩存 222 指數退避算法 226 輪詢VS推送 228 所提供的API 229 Android N帶來的新變化 234 調試工具 243 Android N網絡ADB工具 244 Fiddler 244 Wireshark 245 Application Resource Optimizer 246 網絡衰減 248 模擬網絡加速和延遲 248 總結 252 7 安全 255 WhatsApp – 連續出現問題 256 深入代碼 258 捕獲APK文件 259 從設備上拉取APK文件 259 利用Wireshark捕獲APK文件 260 利用外部網站 261 剖析APK文件 262 代碼注入 267 操作碼 270 注入新代碼 270 簽名并重新構建應用程序 273 保護應用程序 274 非安全存儲 277 SharedPreferences 277 內部存儲 278 外部存儲 280 刪除文件 282 使用外部存儲還是內部存儲 282 數據庫 283 數據庫中的性能 284 SQL注入 284 ORM框架 286 OrmLite 286 SugarORM 287 GreenDAO 288 Realm 289 網絡 289 通信加密 290 嗅探 290 總結 292 8 優化電量消耗 295 分析 295 監測電池電量和充電狀態 298 識別充電狀態的變化 299 確定及響應電池電量的變化 300 Doze和App Standby 301 理解Doze 301 避免無用的網絡請求 302 按需對待BroadcastReceivers 304 網絡 305 總結 306 9 Android中的原生代碼 309 入門——在系統中配置NDK 310 JNI 311 基本概念 312 創建首個JNI程序HelloWorld-JNI 313 使用Android NDK創建一個原生Activity 318 調試NDK 321 Android.mk 324 NDK定義的變量 325 TARGET_PLATFORM 325 TARGET_ARCH 325 TARGET_ABI 326 NDK提供的宏 326 Application.mk 327 引入已存在的庫 329 導出頭文件 330 總結 330 10 性能提示 333 位圖 333 加載 334 處理 340 緩存 341 顯示 346 管理內存 348 圖像優化 352 分辨率 353 壓縮 354 序列化 354 JSON的改進 354 JSON的替代品 356 本地序列化 363 代碼改進 363 Getter和Setter 364 內部類 365 Android N中的Java 8 368 設置 368 特性 368 Jack工具鏈 372 APK優化 374 移除未使用的代碼 374 移除未使用的資源 374 總結 376 |
序: |
|