《Android最佳化技術詳解》循序漸進而又詳細地講解了Android最佳化技術的基本知識。《Android最佳化技術詳解》內容新穎、知識全面、講解詳細。《Android最佳化技術詳解》分為12章,第1章講解了Android系統的基礎知識;第2章講解了Android核心框架;第3章詳細講解了為什麼要最佳化;第4章詳細講解了uI布局最佳化的基本知識;第5章詳細講解了Android記憶體系統的基本知識;第6章講解了Android記憶體最佳化的基本知識;第7章講解了代碼最佳化的基本知識;第8章講解了性能最佳化的基本知識;第9章講解了系統最佳化的基本知識;第10章講解了開發一個Android最佳化系統的基本知識;第11章和第12章足兩個綜合實例,分別講解了在手機地圖系統和Android足球遊戲中使用最佳化技術的知識。書中的每個實例都遵循先提出製作思路及所包含知識點,在實例最後總結知識點,並讓讀者舉一反三。
基本介紹
- 書名:Android最佳化技術詳解
- 出版社:清華大學出版社
- 頁數:423頁
- 開本:16
- 作者:陳德春
- 出版日期:2014年4月1日
- 語種:簡體中文
- ISBN:7302359334
內容簡介,圖書目錄,
內容簡介
《Android最佳化技術詳解》定位於Android的初、中級用戶,既可作為初學者的參考書,也可作為有一定基礎讀者的提高書。
圖書目錄
第1章Android系統閃亮登場
1.1一款全新的智慧型手機平台——Android
1.1.1何謂智慧型手機
1.1.2看當前主流的智慧型手機系統
1.2分析Android的優勢
1.2.1第一個優勢——出自名門
1.2.2第二個優勢——強大的開發團隊
1.2.3第三個優勢——獎金豐厚
1.2.4第四個優勢——代碼開源
1.3搭建開發環境
1.3.1安裝AndroidSDK的系統要求
1.3.2安裝JDK、Eclipse、AndroidSDK
1.3.3設定AndroidSDKHome.
1.4創建Android虛擬設備(AVD)
1.4.1Android模擬器簡介
1.4.2模擬器和真機的區別
1.4.3創建Android虛擬設備
1.4.4啟動模擬器
1.4.5快速安裝SDK
1.5解決搭建環境過程中的三個問題
1.5.1不能線上更新
1.5.2一直顯示Proiect.namemustbespecified提示
1.5.3Target列表中沒有Target選項
第2章分析Android核心框架
2.1簡析Android安裝檔案
2.1.1AndroidSDK目錄結構
2.1.2android.jar及其內部結構
2.1.3SDK幫助文檔
2.1.4AndroidSDK實例簡介
2.2Android的系統架構詳解
2.2.1Android體系結構介紹
2.2.2Android工程檔案結構
2.2.3應用程式的生命周期
2_3簡析Android核心
2.3.1Android繼承於Linux
2.3.2Android核心和Linux核心的區別
2.4簡析Android源碼
2.4.1獲取並編譯Android源碼
2.4.2Android對Linux的改造
2.4.3為Android構建Linux的
作業系統
第3章為什麼需要最佳化
3.1用戶體驗是產品成功的關鍵
3.1.1什麼是用戶體驗
3.1.2影響用戶體驗的因素
3.1.3用戶體驗設計目標
3.2Android的用戶體驗
3.3不同的廠商,不同的硬體
3.4Android最佳化概述
第4章UI布局最佳化
4.1和布局相關的組件
4.1.1View視圖組件
4.1.2Viewgroup容器
4.2Android中的5種布局方式
4.2.1線性布局LinearLayout
4.2.2框架布局FrameLayout
4.2.3絕對布局AbsoluteLayout
4.2.4相對布局RelativeLayout
4.2.5表格布局TableLayout
4.3(merge)標籤在UI界面中的最佳化作用
4.4遵循AndroidLayout最佳化的兩段通用代碼
4.5最佳化Bitmap圖片
4.5.1實例說明
4.5.2具體實現
4.6FrameLayout布局最佳化
4.6.1使用(merge)減少視圖層級結構
4.6.2使用(include)重用Layout代碼
4.6.3延遲載入
4.7使用Android為我們提供的最佳化工具
4.7.1LayoutOptimization工具
4.7.2HierarchyViewer工具
4.7.3聯合使用(merge)和(include)標籤實現互補
4.8總結AndroidUI布局最佳化的原則和方法
第5章Android的記憶體系統
5.1記憶體和進程的關係
5.1.1進程管理工具的紛爭
5.1.2程式設計師的任務
5.1.3Android系統記憶體設計
5.2分析Android的進程通信機制
5.2.1Android的進程間通信(IPC)機制Binder
5.2.2ServiceManager是Binder
機制的上下文管理者
5.2.3分析Server和Client獲得ServiceManager的過程
5.3分析Android系統匿名共享記憶體C++調用接口
5.3.1Java程式
5.3.2相關程式
5.4Android中的垃圾回收
5.4.1sp平口wp簡析
5.4.2詳解智慧型指針(androidrefbase類(sp和wp))
第6章Android記憶體最佳化
6.1Android記憶體最佳化的作用
6.2查看Android記憶體和CPU使用情況
6.2.1利用AndroidAPI函式查看
6.2.2直接對Android檔案進行解析查詢
6.2.3通過Runtime類實現
6.2.4使用DDMS工具獲取
6.2.5其他方法
6.3Android的記憶體泄漏
6.3.1什麼是記憶體泄漏
6.3.2為什麼會發生記憶體泄漏
6.3.3shallowsize、retainedsize
6.3.4查看Android記憶體泄漏的工具
6.3.5查看Android記憶體泄漏的方法
6.3.6Android(Java)中常見的容易引起記憶體泄漏的不良代碼
6,4常見的引起記憶體泄漏的壞毛病
6.4.1查詢資料庫時忘記關閉游標
6.4.2構造Adapter時不習慣使用快取的convertView
6.4.3沒有及時釋放對象的引用
6.4.4不在使用Bitmap對象時調用recycle()釋放記憶體
6.5演練解決記憶體泄漏
6.5.1使用MAT根據heapdump分析Java代碼記憶體泄漏的根源
6.5.2演練Android中記憶體泄漏代碼最佳化及檢測
6.6Android圖片的記憶體最佳化
第7章代碼最佳化
7.1Android代碼最佳化的基本原則
7.2最佳化Java代碼
7.2.1GC對象最佳化
7.2.2儘量使用StringBuilder和StringBuffer進行字元串
連線
7.2.3及時釋放不用的對象
7.3編寫更高效的Android代碼
7.3.1避免建立對象
7.3.2最佳化方法調用代碼
7.3.3最佳化代碼變數
7.3.4最佳化代碼過程
7.3.5提高Cursor查詢數據的性能
7.3.6編碼中儘量使用ContentProvider共享數據
7.4Android控制項的性能最佳化
7.4.1ListView控制項的代碼最佳化
7.4.2Adapter(適配器)最佳化
7.4.3ListView異步載入圖片最佳化
7.5最佳化Android圖形
7.5.12D繪圖的基本最佳化
7.5.2觸發螢幕圖形觸摸器的最佳化
7.5.3SurfaceView繪圖覆蓋刷新及髒矩形刷新方法
第8章性能最佳化
8.1資源存儲最佳化
8.1.1Android檔案存儲
8.1.2Android中的資源存儲
8.1.3Android資源的類型和命名
8.1.4Android檔案資源(raw/data/asset)的存取
8.1.5Android對Drawable對象的最佳化
8.1.6建議使用Drawable,而不是Bitmap
8.2載入APK檔案和DEX檔案
8.2.1APK檔案介紹
8.2.2DEX檔案介紹和最佳化
8.2.3Android類動態載入技術實現加密最佳化
8.3SD卡最佳化
8.4Android的虛擬機最佳化
8.4.1Android虛擬機概述
8.4.2平台最佳化—ARM的流水線技術
8.4.3Android對C庫最佳化
8.4.4創建進程的最佳化
8.4.5渲染最佳化
8.5SQLite最佳化
8.5.1AndroidSQLite的查詢最佳化
8.5.2SQLite性能最佳化技巧
8.6Android的圖片快取處理和性能最佳化
第9章系統最佳化
9.1基本系統最佳化
9.1.1刷機重啟
9.1.2刷核心
9.1.3精簡內置套用
9.1.4基本系統最佳化總結
9.2進程管理
9.2.1Android進程跟Windows進程是兩回事
9.2.2查看當前系統中正在運行的程式
9.2.3枚舉Android系統的進程、任務和服務的信息
9.2.4研究Android進程管理器的實現
9.3將Android軟體從手機記憶體轉移到存儲卡
9.3.1第一步:準備工作
9.3.2第二步:存儲卡分區
9.3.3第三步:將軟體移動到SD卡
9.4常用的系統最佳化工具
9.4.1最佳化大師
9.4.2360最佳化大師
第10章開發一個Android最佳化系統
10.1最佳化大師介紹
10.1.1手機最佳化大師客戶端
10.1.2手機最佳化大師PC端
10.2項目介紹
10.2.1規劃UI界面
10.2.2預期效果
10.3準備工作
10.3.1新建工程
10.3.2主界面
10.4編寫主界面程式
10.5進程管理模式模組
10.5.1基礎狀態檔案
10.5.2CPU和記憶體使用信息
10.5.3進程詳情
10.6進程視圖模組
10.6.1進程主視圖
10.6.2進程視圖
10.6.3獲取進程信息
10.7進程類別模組
10.7.1載入進程
10.7.2後台載入設定
10.7.3載入顯示
10.8檔案管理模式模組
10.8.1檔案分類
10.8.2載入進程
10.8.3檔案視圖處理
10.9檔案管理模組
10.9.1資料夾
10.9.2顯示檔案信息
10.9.3操作檔案
10.9.4獲取進程的CPU和記憶體信息
10.10系統測試
第11章綜合實例——手機地圖系統
11.1項目分析
11.1.1規劃UI界面
11.1.2數據存儲設計和最佳化
11.2具體實現
11.2.1新建工程
11.2.2主界面
11.2.3新建界面
11.2.4設定界面
11.2.5幫助界面
11.2.6地圖界面
11.2.7數據存取
11.2.8實現Service服務
11.3發布自己的作品來盈利
11.3.1申請會員
11.3.2生成簽名檔案
11.3.3使用簽名檔案
11.3.4發布
第12章綜合實例—Android足球遊戲
12.1手機遊戲產業的發展
12.1.11.2億手機遊戲用戶
12.1.2淘金的時代
12.1.3手機遊戲的未來發展
12.2Java遊戲開發基礎
12.3足球遊戲介紹
12.3.1手機足球遊戲
12.3.2策劃遊戲
12.3.3準備工作
12.4項目架構
12.4.1總體架構
12.4.2規劃類
12.5Android手機遊戲的最佳化策略
12.6具體編碼
12.6.1Activity類開發
12.6.2歡迎界面
12.6.3載入節目
12.6.4運動控制
12.6.5獎品模組
1.1一款全新的智慧型手機平台——Android
1.1.1何謂智慧型手機
1.1.2看當前主流的智慧型手機系統
1.2分析Android的優勢
1.2.1第一個優勢——出自名門
1.2.2第二個優勢——強大的開發團隊
1.2.3第三個優勢——獎金豐厚
1.2.4第四個優勢——代碼開源
1.3搭建開發環境
1.3.1安裝AndroidSDK的系統要求
1.3.2安裝JDK、Eclipse、AndroidSDK
1.3.3設定AndroidSDKHome.
1.4創建Android虛擬設備(AVD)
1.4.1Android模擬器簡介
1.4.2模擬器和真機的區別
1.4.3創建Android虛擬設備
1.4.4啟動模擬器
1.4.5快速安裝SDK
1.5解決搭建環境過程中的三個問題
1.5.1不能線上更新
1.5.2一直顯示Proiect.namemustbespecified提示
1.5.3Target列表中沒有Target選項
第2章分析Android核心框架
2.1簡析Android安裝檔案
2.1.1AndroidSDK目錄結構
2.1.2android.jar及其內部結構
2.1.3SDK幫助文檔
2.1.4AndroidSDK實例簡介
2.2Android的系統架構詳解
2.2.1Android體系結構介紹
2.2.2Android工程檔案結構
2.2.3應用程式的生命周期
2_3簡析Android核心
2.3.1Android繼承於Linux
2.3.2Android核心和Linux核心的區別
2.4簡析Android源碼
2.4.1獲取並編譯Android源碼
2.4.2Android對Linux的改造
2.4.3為Android構建Linux的
作業系統
第3章為什麼需要最佳化
3.1用戶體驗是產品成功的關鍵
3.1.1什麼是用戶體驗
3.1.2影響用戶體驗的因素
3.1.3用戶體驗設計目標
3.2Android的用戶體驗
3.3不同的廠商,不同的硬體
3.4Android最佳化概述
第4章UI布局最佳化
4.1和布局相關的組件
4.1.1View視圖組件
4.1.2Viewgroup容器
4.2Android中的5種布局方式
4.2.1線性布局LinearLayout
4.2.2框架布局FrameLayout
4.2.3絕對布局AbsoluteLayout
4.2.4相對布局RelativeLayout
4.2.5表格布局TableLayout
4.3(merge)標籤在UI界面中的最佳化作用
4.4遵循AndroidLayout最佳化的兩段通用代碼
4.5最佳化Bitmap圖片
4.5.1實例說明
4.5.2具體實現
4.6FrameLayout布局最佳化
4.6.1使用(merge)減少視圖層級結構
4.6.2使用(include)重用Layout代碼
4.6.3延遲載入
4.7使用Android為我們提供的最佳化工具
4.7.1LayoutOptimization工具
4.7.2HierarchyViewer工具
4.7.3聯合使用(merge)和(include)標籤實現互補
4.8總結AndroidUI布局最佳化的原則和方法
第5章Android的記憶體系統
5.1記憶體和進程的關係
5.1.1進程管理工具的紛爭
5.1.2程式設計師的任務
5.1.3Android系統記憶體設計
5.2分析Android的進程通信機制
5.2.1Android的進程間通信(IPC)機制Binder
5.2.2ServiceManager是Binder
機制的上下文管理者
5.2.3分析Server和Client獲得ServiceManager的過程
5.3分析Android系統匿名共享記憶體C++調用接口
5.3.1Java程式
5.3.2相關程式
5.4Android中的垃圾回收
5.4.1sp平口wp簡析
5.4.2詳解智慧型指針(androidrefbase類(sp和wp))
第6章Android記憶體最佳化
6.1Android記憶體最佳化的作用
6.2查看Android記憶體和CPU使用情況
6.2.1利用AndroidAPI函式查看
6.2.2直接對Android檔案進行解析查詢
6.2.3通過Runtime類實現
6.2.4使用DDMS工具獲取
6.2.5其他方法
6.3Android的記憶體泄漏
6.3.1什麼是記憶體泄漏
6.3.2為什麼會發生記憶體泄漏
6.3.3shallowsize、retainedsize
6.3.4查看Android記憶體泄漏的工具
6.3.5查看Android記憶體泄漏的方法
6.3.6Android(Java)中常見的容易引起記憶體泄漏的不良代碼
6,4常見的引起記憶體泄漏的壞毛病
6.4.1查詢資料庫時忘記關閉游標
6.4.2構造Adapter時不習慣使用快取的convertView
6.4.3沒有及時釋放對象的引用
6.4.4不在使用Bitmap對象時調用recycle()釋放記憶體
6.5演練解決記憶體泄漏
6.5.1使用MAT根據heapdump分析Java代碼記憶體泄漏的根源
6.5.2演練Android中記憶體泄漏代碼最佳化及檢測
6.6Android圖片的記憶體最佳化
第7章代碼最佳化
7.1Android代碼最佳化的基本原則
7.2最佳化Java代碼
7.2.1GC對象最佳化
7.2.2儘量使用StringBuilder和StringBuffer進行字元串
連線
7.2.3及時釋放不用的對象
7.3編寫更高效的Android代碼
7.3.1避免建立對象
7.3.2最佳化方法調用代碼
7.3.3最佳化代碼變數
7.3.4最佳化代碼過程
7.3.5提高Cursor查詢數據的性能
7.3.6編碼中儘量使用ContentProvider共享數據
7.4Android控制項的性能最佳化
7.4.1ListView控制項的代碼最佳化
7.4.2Adapter(適配器)最佳化
7.4.3ListView異步載入圖片最佳化
7.5最佳化Android圖形
7.5.12D繪圖的基本最佳化
7.5.2觸發螢幕圖形觸摸器的最佳化
7.5.3SurfaceView繪圖覆蓋刷新及髒矩形刷新方法
第8章性能最佳化
8.1資源存儲最佳化
8.1.1Android檔案存儲
8.1.2Android中的資源存儲
8.1.3Android資源的類型和命名
8.1.4Android檔案資源(raw/data/asset)的存取
8.1.5Android對Drawable對象的最佳化
8.1.6建議使用Drawable,而不是Bitmap
8.2載入APK檔案和DEX檔案
8.2.1APK檔案介紹
8.2.2DEX檔案介紹和最佳化
8.2.3Android類動態載入技術實現加密最佳化
8.3SD卡最佳化
8.4Android的虛擬機最佳化
8.4.1Android虛擬機概述
8.4.2平台最佳化—ARM的流水線技術
8.4.3Android對C庫最佳化
8.4.4創建進程的最佳化
8.4.5渲染最佳化
8.5SQLite最佳化
8.5.1AndroidSQLite的查詢最佳化
8.5.2SQLite性能最佳化技巧
8.6Android的圖片快取處理和性能最佳化
第9章系統最佳化
9.1基本系統最佳化
9.1.1刷機重啟
9.1.2刷核心
9.1.3精簡內置套用
9.1.4基本系統最佳化總結
9.2進程管理
9.2.1Android進程跟Windows進程是兩回事
9.2.2查看當前系統中正在運行的程式
9.2.3枚舉Android系統的進程、任務和服務的信息
9.2.4研究Android進程管理器的實現
9.3將Android軟體從手機記憶體轉移到存儲卡
9.3.1第一步:準備工作
9.3.2第二步:存儲卡分區
9.3.3第三步:將軟體移動到SD卡
9.4常用的系統最佳化工具
9.4.1最佳化大師
9.4.2360最佳化大師
第10章開發一個Android最佳化系統
10.1最佳化大師介紹
10.1.1手機最佳化大師客戶端
10.1.2手機最佳化大師PC端
10.2項目介紹
10.2.1規劃UI界面
10.2.2預期效果
10.3準備工作
10.3.1新建工程
10.3.2主界面
10.4編寫主界面程式
10.5進程管理模式模組
10.5.1基礎狀態檔案
10.5.2CPU和記憶體使用信息
10.5.3進程詳情
10.6進程視圖模組
10.6.1進程主視圖
10.6.2進程視圖
10.6.3獲取進程信息
10.7進程類別模組
10.7.1載入進程
10.7.2後台載入設定
10.7.3載入顯示
10.8檔案管理模式模組
10.8.1檔案分類
10.8.2載入進程
10.8.3檔案視圖處理
10.9檔案管理模組
10.9.1資料夾
10.9.2顯示檔案信息
10.9.3操作檔案
10.9.4獲取進程的CPU和記憶體信息
10.10系統測試
第11章綜合實例——手機地圖系統
11.1項目分析
11.1.1規劃UI界面
11.1.2數據存儲設計和最佳化
11.2具體實現
11.2.1新建工程
11.2.2主界面
11.2.3新建界面
11.2.4設定界面
11.2.5幫助界面
11.2.6地圖界面
11.2.7數據存取
11.2.8實現Service服務
11.3發布自己的作品來盈利
11.3.1申請會員
11.3.2生成簽名檔案
11.3.3使用簽名檔案
11.3.4發布
第12章綜合實例—Android足球遊戲
12.1手機遊戲產業的發展
12.1.11.2億手機遊戲用戶
12.1.2淘金的時代
12.1.3手機遊戲的未來發展
12.2Java遊戲開發基礎
12.3足球遊戲介紹
12.3.1手機足球遊戲
12.3.2策劃遊戲
12.3.3準備工作
12.4項目架構
12.4.1總體架構
12.4.2規劃類
12.5Android手機遊戲的最佳化策略
12.6具體編碼
12.6.1Activity類開發
12.6.2歡迎界面
12.6.3載入節目
12.6.4運動控制
12.6.5獎品模組