Android高性能編程 Android高性能编程

恩里克·洛佩斯·馬尼亞斯 (Enrique López Mañas), 迪戈·格蘭奇尼 (Diego Grancini)

  • 出版商: 電子工業出版社
  • 出版日期: 2018-01-01
  • 定價: $594
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • 頁數: 379
  • 裝訂: 平裝
  • ISBN: 7121328879
  • ISBN-13: 9787121328879
  • 相關分類: Android

立即出貨 (庫存 < 4)

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

商品描述

本書旨在為Android開發者指明提高應用程序性能的方向。第1章就什麽是高性能,為什麽需要高性能展開討論。第2章為讀者展示了一些用於調試應用程序的工具,方案以及技巧。第3-8章,圍繞著佈局,內存,多線程,網絡,安全,電量消耗,等多個方面,闡述如何打造高性能應用程序。第9章相對獨立,介紹的是原生開發。第10章與前面章節的關系也不大,涵蓋了一些瑣碎,但對性能至關重要的提示,例如,圖像處理,序列化,優化APK文件等等。

作者簡介

西班牙)Enrique López Ma?as(恩里克·洛佩斯·馬尼亞斯),(意)Diego Grancini (迪戈·格蘭奇尼)譯者:葉坤
Enrique López Ma?as是Google公司的一位研發專家和獨立IT顧問。他從2007年開始學習並從事移動研發技術。他是一名狂熱的開源社區貢獻者,一位免費開源軟件擁護者,德國排名前10的Java開源貢獻者。他加入了Google創業加速器計劃,其中,他參與並影響了來自全球的幾百個最佳孵化項目。同時,他也是一位大數據和機器學習愛好者。Diego Grancini擁有佩魯賈大學的電信IT工程學位。他致力於研究Android開發超過6年的時間,領導並促成了多個項目,在他的職業生涯中,十分熱衷於教授和分享他的技術。
葉坤,豆瓣Android工程師。負責豆瓣FM Android客戶端研發。熱愛運動、旅行、畫畫、探戈,偶爾玩玩鋼琴。負責豆瓣FM Android客戶端研發。熱愛運動、旅行、畫畫、探戈,偶爾玩玩鋼琴。

目錄大綱

1引言:為什麼需要高性能?
為什麼應用程序的性能意味著這麼多?
手動測試和自動測試
ANR和軟件中的延遲
什麼會觸發ANR,我該如何避免它們?
Android架構
Dalvik虛擬機
內存管理
電量消耗
Java語言
NDK/在需要時進行原生開發
程序響應相關的3個臨界值
軟件質量的商業價值
總結

2高效調試
ADB 
DDMS 
採集和分析線程信息
堆分析和可視化
Allocation Tracker 
網絡使用
Emulator Control 
系統狀態
調試UI 
使用Hierarchy Viewer 
Systrace 
Android設備調試選項
Android即時運行
GPU分析器
使用GPU分析器進行調試
ClassyShark 
開始使用
總結

3打造佈局
預覽
渲染性能
屏幕撕裂和垂直同步
多窗口模式
最佳實踐
佈局概述
佈局層次管理
佈局復用
ViewStub 
AdapterView和視圖回收
自定義視圖和佈局
屏幕縮放
調試工具
Design窗口
HierarchyViewer 
設備上的調試工具
Systrace 
總結

4內存
預覽
內存如何工作
垃圾回收
內存共享
運行時
AndroidN即時編譯器
內存洩露
內存抖動
引用
內存相關的項目
最佳實踐
數據類型
語法
常量
對像管理
內存設計模式
Android組件洩露
進程
內存API 
主要組件和內存管理
調試工具
LogCat 
ActivityManager API 
StrictMode 
Dumpsys 
總結

5多線程
預覽
線程基礎
Android多線程環境
Android應用程序線程
Android線程消息
最佳實踐
線程
HandlerThread 
AsyncTask 
Loaders 
Services 
進程間通信
先進的技術
調試工具
StrictMode 
總結

6網絡
預覽
協議
方法
頭部
超時
內容
響應碼
連接類型
最佳實踐
延遲測定
批量連接
對響應進行緩存
指數退避算法
輪詢VS推送
所提供的API 
Android N帶來的新變化
調試工具
AndroidN網絡ADB工具
Fiddler 
Wireshark 
Application Resource Optimizer 
網絡衰減
模擬網絡加速和延遲
總結

7安全
WhatsApp–連續出現問題
深入代碼
捕獲APK文件
從設備上拉取APK文件
利用Wireshark捕獲APK文件
利用外部網站
剖析APK文件
代碼注入
操作碼
注入新代碼
簽名並重新構建應用程序
保護應用程序
非安全存儲
SharedPreferences 
內部存儲
外部存儲
刪除文件
使用外部存儲還是內部存儲
數據庫
數據庫中的性能
SQL注入
ORM框架
OrmLite 
SugarORM 
GreenDAO 
Realm 
網絡
通信加密
嗅探
總結

8優化電量消耗
分析
監測電池電量和充電狀態
識別充電狀態的變化
確定及響應電池電量的變化
Doze和App Standby 
理解Doze 
避免無用的網絡請求
按需對待BroadcastReceivers 
網絡
總結

9Android中的原生代碼
入門——在系統中配置NDK 
JNI 
基本概念
創建首個JNI程序HelloWorld—JNI 
使用Android NDK創建一個原生Activity 
調試NDK 
Android.mk 
NDK定義的變量
TARGET_PLATFORM 
TARGET_ARCH 
TARGET_ABI 
NDK提供的宏
Application.mk 
引入已存在的庫
導出頭文件
總結

10性能提示
位圖
加載
處理
緩存
顯示
管理內存
圖像優化
分辨率
壓縮
序列化
JSON的改進
JSON的替代品
本地序列化
代碼改進
Getter和Setter 
內部類
Android N中的Java 8 
設置
特性
Jack工具鏈
APK優化
移除未使用的代碼
移除未使用的資源
總結