幫助中心 | 我的帳號 | 關於我們

Android進階解密

  • 作者:劉望舒
  • 出版社:電子工業
  • ISBN:9787121348389
  • 出版日期:2018/10/01
  • 裝幀:平裝
  • 頁數:453
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    劉望舒著的《Android進階解密》是一本Android進階書籍,主要針對Android 8.0系統源碼並結合應用開發相關知識進行介紹。本書共分為17章,從3個方面來組織內容。 第1方面介紹Android應用開發所需要掌握的系統源碼知識,第二方面介紹JNI、ClassLoader、Java虛擬機、DVM&ART虛擬機和Hook等技術,第三方面介紹熱修複原理、插件化原理、繪製優化和內存優化等與應用開發相關的知識點。3個方面有所關聯並形成一個知識體系,從而使Android開發者能通過閱讀本書達到融會貫通的目的。
    本書適合有一定基礎的Android應用開發工程師、Android系統開發工程師和對Android系統源碼感興趣的讀者閱讀。

作者介紹
劉望舒
    劉望舒,Android高級工程師,擁有多年開發和技術管理經驗,對Android框架層及應用層開發有著深入的理解。熱愛技術和分享,連續6年在CSDN發表技術文章,有多篇文章廣受好評,並被授予CSDN博客專家稱號。此外,他還活躍在簡書和掘金。曾在多家知名公司從事Android開發。

目錄
第1章  Android系統架構
  1.1  Android系統架構
  1.2  Android系統源碼目錄
    1.2.1  整體結構
    1.2.2  應用層部分
    1.2.3  應用框架層部分
    1.2.4  C/C++程序庫部分
  1.3  源碼閱讀
    1.3.1  在線閱讀
    1.3.2  使用Source Insight
  1.4  本章小結
第2章  Android系統啟動
  2.1  init進程啟動過程
    2.1.1  引入init進程
    2.1.2  init進程的入口函數
    2.1.3  解析init.rc
    2.1.4  解析Service類型語句
    2.1.5  init啟動Zygote
    2.1.6  屬性服務
    2.1.7  init進程啟動總結
  2.2  Zygote進程啟動過程
    2.2.1  Zygote概述
    2.2.2  Zygote啟動腳本
    2.2.3  Zygote進程啟動過程介紹
    2.2.4  Zygote進程啟動總結
  2.3  SystemServer處理過程
    2.3.1  Zygote處理SystemServer進程
    2.3.2  解析SystemServer進程
    2.3.3  SystemServer進程總結
  2.4  Launcher啟動過程
    2.4.1  Launcher概述
    2.4.2  Launcher啟動過程介紹
    2.4.3  Launcher中應用圖標顯示過程
  2.5  Android系統啟動流程
  2.6  本章小結
第3章  應用程序進程啟動過程
  3.1  應用程序進程簡介
  3.2  應用程序進程啟動過程介紹
    3.2.1  AMS發送啟動應用程序進程請求
    3.2.2  Zygote接收請求並創建應用程序進程
  3.3  Binder線程池啟動過程
  3.4  消息循環創建過程
  3.5  本章小結
第4章  四大組件的工作過程
  4.1  根Activity的啟動過程
    4.1.1  Launcher請求AMS過程
    4.1.2  AMS到ApplicationThread的調用過程
    4.1.3  ActivityThread啟動Activity的過程
    4.1.4  根Activity啟動過程中涉及的進程
  4.2  Service的啟動過程

    4.2.1  ContextImpl到AMS的調用過程
    4.2.2  ActivityThread啟動Service
  4.3  Service的綁定過程
    4.3.1  ContextImpl到AMS的調用過程
    4.3.2  Service的綁定過程
  4.4  廣播的註冊、發送和接收過程
    4.4.1  廣播的註冊過程
    4.4.2  廣播的發送和接收過程
  4.5  Content Provider的啟動過程
    4.5.1  query方法到AMS的調用過程
    4.5.2  AMS啟動Content Provider的過程
  4.6  本章小結
第5章  理解上下文Context
  5.1  Context的關聯類
  5.2  Application Context的創建過程
  5.3  Application Context的獲取過程
  5.4  Activity的Context創建過程
  5.5  Service的Context創建過程
  5.6  本章小結
第6章  理解ActivityManagerService
  6.1  AMS家族
      6.1.1 Android 7.0  的AMS家族
      6.1.2 Android 8.0  的AMS家族
  6.2  AMS的啟動過程
  6.3  AMS與應用程序進程
  6.4  AMS重要的數據結構
    6.4.1  解析ActivityRecord
    6.4.2  解析TaskRecord
    6.4.3  解析ActivityStack
  6.5  Activity棧管理
    6.5.1  Activity任務棧模型
    6.5.2  Launch Mode
    6.5.3  Intent的FLAG
    6.5.4  taskAffinity
  6.6  本章小結
第7章  理解WindowManager
  7.1  Window、WindowManager和WMS
  7.2  WindowManager的關聯類
  7.3  Window的屬性
    7.3.1  Window的類型和顯示次序
    7.3.2  Window的標誌
    7.3.3  軟鍵盤相關模式
  7.4  Window的操作
    7.4.1  系統窗口的添加過程
    7.4.2  Activity的添加過程
    7.4.3  Window的更新過程
  7.5  本章小結
第8章  理解WindowManagerService
  8.1  WMS的職責
  8.2  WMS的創建過程

  8.3  WMS的重要成員
  8.4  Window的添加過程(WMS處理部分)
  8.5  Window的刪除過程
  8.6  本章小結
第9章  JNI原理
  9.1  系統源碼中的JNI
  9.2  MediaRecorder框架中的JNI
    9.2.1  Java Framework層的MediaRecorder
    9.2.2  JNI層的MediaRecorder
    9.2.3  Native方法註冊
  9.3  數據類型的轉換
    9.3.1  基本數據類型的轉換
    9.3.2  引用數據類型的轉換
  9.4  方法簽名
  9.5  解析JNIEnv
    9.5.1  jfieldID和jmethodID
    9.5.2  使用jfieldID和jmethodID
  9.6  引用類型
    9.6.1  本地引用
    9.6.2  全局引用
    9.6.3  弱全局引用
  9.7  本章小結
第10章  Java虛擬機
  10.1  概述
    10.1.1  Java虛擬機家族
    10.1.2  Java虛擬機執行流程
  10.2  Java虛擬機結構
    10.2.1  Class文件格式
    10.2.2  類的生命周期
    10.2.3  類載入子系統
    10.2.4  運行時數據區域
  10.3  對象的創建
  10.4  對象的堆內存布局
  10.5  oop-klass模型
  10.6  垃圾標記演算法
    10.6.1  Java中的引用
    10.6.2  引用計數演算法
    10.6.3  根搜索演算法
  10.7  Java對象在虛擬機中的生命周期
  10.8  垃圾收集演算法
    10.8.1  標記—清除演算法
    10.8.2  複製演算法
    10.8.3  標記—壓縮演算法
    10.8.4  分代收集演算法
  10.9  本章小結
第11章  Dalvik和ART
  11.1  Dalvik虛擬機
    11.1.1  DVM與JVM的區別
    11.1.2  DVM架構
    11.1.3  DVM的運行時堆

    11.1.4  DVM的GC日誌
  11.2  ART虛擬機
    11.2.1  ART與DVM的區別
    11.2.2  ART的運行時堆
    11.2.3  ART的GC日誌
  11.3  DVM和ART的誕生
  11.4  本章小結
第12章  理解ClassLoader
  12.1  Java中的ClassLoader
    12.1.1  ClassLoader的類型
    12.1.2  ClassLoader的繼承關係
    12.1.3  雙親委託模式
    12.1.4  自定義ClassLoader
  12.2  Android中的ClassLoader
    12.2.1  ClassLoader的類型
    12.2.2  ClassLoader的繼承關係
    12.2.3  ClassLoader的載入過程
    12.2.4  BootClassLoader的創建
    12.2.5  PathClassLoader的創建
  12.3  本章小結
第13章  熱修複原理
  13.1  熱修復的產生
  13.2  熱修復框架的種類和對比
  13.3  資源修復
    13.3.1  Instant Run概述
    13.3.2  Instant Run的資源修復
  13.4  代碼修復
    13.4.1  類載入方案
    13.4.2  底層替換方案
    13.4.3  Instant Run方案
  13.5  動態鏈接庫的修復
    13.5.1  System的load和loadLibarary方法
    13.5.2  nativeLoad方法分析
  13.6  本章小結
第14章  Hook技術
  14.1  Hook技術概述
  14.2  Hook技術分類
  14.3  代理模式
    14.3.1  代理模式簡單實現
    14.3.2  動態代理的簡單實現
  14.4  Hook startActivity方法
    14.4.1  Hook Activity的startActivity方法
    14.4.2  Hook Context的startActivity方法
    14.4.3  Hook startActivity總結
  14.5  本章小結
第15章  插件化原理
  15.1  動態載入技術
  15.2  插件化的產生
    15.2.1  應用開發的痛點和瓶頸
    15.2.2  插件化思想

    15.2.3  插件化定義
  15.3  插件化框架對比
  15.4  Activity插件化
    15.4.1  Activity的啟動過程回顧
    15.4.2  Hook IActivityManager方案實現
    15.4.3  Hook Instrumentation方案實現
    15.4.4  總結
  15.5  Service插件化
    15.5.1  插件化方面Service與Activity的不同
    15.5.2  代理分發實現
  15.6  ContentProvider插件化
    15.6.1  ContentProvider的啟動過程回顧
    15.6.2  VirtualApk的實現
  15.7  BroadcastReceiver的插件化
    15.7.1  廣播插件化思路
    15.7.2  VirtualApk的實現
  15.8  資源的插件化
    15.8.1  系統資源載入
    15.8.2  VirtualApk實現
  15.9  so的插件化
  15.10  本章小結
第16章  繪製優化
  16.1  繪製性能分析
    16.1.1  繪製原理
    16.1.2  Profile GPU Rendering
    16.1.3  Systrace
    16.1.4  Traceview
  16.2  布局優化
    16.2.1  布局優化工具
    16.2.2  布局優化方法
    16.2.3  避免GPU過度繪製
  16.3  本章小結
第17章  內存優化
  17.1  避免可控的內存泄漏
    17.1.1  什麼是內存泄漏
    17.1.2  內存泄漏的場景
  17.2  Memory Monitor
    17.2.1  使用Memory Monitor
    17.2.2  大內存申請與GC
    17.2.3  內存抖動
  17.3  Allocation Tracker
    17.3.1  使用Allocation Tracker
    17.3.2  alloc文件分析
  17.4  Heap Dump
    17.4.1  使用Heap Dump
    17.4.2  檢測內存泄漏
  17.5  內存分析工具MAT
    17.5.1  生成hprof文件
    17.5.2  MAT分析hprof文件
  17.6  LeakCanary

    17.6.1  使用LeakCanary
    17.6.2  LeakCanary應用舉例
  17.7  本章小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032