[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • ANDROID工程化最佳實踐 金凱 著 程序設計(新)專業科技 新華書
    該商品所屬分類:計算機/網絡 -> 計算機/網絡
    【市場價】
    673-976
    【優惠價】
    421-610
    【作者】 金凱 
    【出版社】電子工業出版社 
    【ISBN】9787121359248
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    ISBN編號:9787121359248
    書名:Android工程化最佳實踐 Android工程化最佳實踐
    作者:金凱

    代碼:89
    開本:16開
    是否是套裝:否

    出版社名稱:電子工業出版社

        
        
    "

    ANDROID工程化最佳實踐

    作  者: 金凱 著
    size="731x8"
    定  價: 89
    size="731x8"
    出?版?社: 電子工業出版社
    size="731x8"
    出版日期: 2019年03月01日
    size="731x8"
    頁  數: 400
    size="731x8"
    裝  幀: 平裝
    size="731x8"
    ISBN: 9787121359248
    size="731x8"
    目錄
    章 探尋高效易用的反射API 1.1 反射的能力 1.1.1 得到Class對像 1.1.2 操作Field 1.1.3 調用Method 1.1.4 動態代理 1.2 反射封裝庫――JOOR 1.2.1 反射的流程 1.2.2 VirtualApp中的反射 1.2.3 一行代碼建立對像 1.2.4 簡化Field的相關操作 1.2.5 簡化方法調用 1.2.6 封裝動態代理 1.3 注意事項 1.3.1 反射的性能問題 1.3.2 反射的使用時機 1.3.3 如何降低反射的性能損耗 1.3.4 反射的危險性 1.3.5 反射和混淆的關繫 1.4 總結 第2章 打造高擴展性的Log繫統 2.1 基本概念 2.2 命令行操作Log 2.2.1 輸出日志 2.2.2 過濾日志 2.3 Android Studio中的Log 2.3.1 設置模板 2.3.2 正則過濾 2.3.3 熱部署Log 2.4 微信的Xlog 2.4.1 設計和開發目標 2.4.2 編譯、引入和使用 2.4.3 對Log文件進行優化 2.5 美團的Logan 2.6 擴展Log的功能 2.6.1 TAG的自動化 2.6.2 文本內容的設計 2.6.3 開關的設計 2.7 封裝Log庫 2.7.1 Timber 2.7.2 LogDelegate 2.7.3 Logger 2.7.4 擴展Timber的功能 2.7.5 分發日志 2.8 實用日志 2.8.1 操作耗時日志 2.8.2 頁面跳轉日志 2.8.3 網絡請求日志 2.9 總結 第3章 萬變不離其宗的Intent 3.1 源碼分析 3.1.1 靜態變量的寫法 3.1.2 Intent的深拷貝 3.1.3 makeMainActivity 3.1.4 Intent的Chooser 3.1.5 用URI代替Intent 3.1.6 存取值的底層實現 3.1.7 區分顯式和隱式Intent 3.1.8 拋棄Bundle的傳值策略 3.2 序列化方案 3.2.1 Serializable/Externalizable 3.2.2 Android中的Parcelable 3.2.3 Google的Protocol Buffer 3.2.4 Twitter的Serial 3.3 常見問題 3.3.1 父類的序列化 3.3.2 類型轉換異常 3.3.3 重復啟動的問題 3.3.4 傳遞大對像 3.4 簡單的傳值庫――Parceler 3.4.1 降低Key的維護成本 3.4.2 自動維護Intent的Key 3.4.3 Jetpack中的自動化 3.4.4 自動保存狀態 3.4.5 處理ClassCastException 3.4.6 IntentLauncher 3.4.7 統一存取的API 3.5 總結 第4章 SharedPrefrences的再封裝 4.1 源碼分析 4.1.1 緩存機制 4.1.2 SharedPreferencesImpl 4.1.3 值操作 4.1.4 提交操作 4.2 異常處理 4.2.1 name為null 4.2.2 管理好Key的取名 4.2.3 清空操作失效 4.2.4 磁盤寫入異常 4.2.5 出現ANR 4.2.6 存序列化對像 4.2.7 多App和多進程訪問異常 4.3 性能優化 4.3.1 避免儲存大量數據 4.3.2 盡可能提前初始化 4.3.3 避免Key過長 4.3.4 多次操作,批量提交 4.3.5 緩存Editor對像 4.3.6 不存放HTML和JSON 4.3.7 拆分高頻和低頻操作 4.4 封裝SharedPreferences 4.4.1 PreferenceDataStore 4.4.2 通過接口提高內聚 4.4.3 得到SharedPreferences 4.4.4 多用戶存儲設計 4.4.5 統一管理Key 4.4.6 自動判斷返回值類型 4.4.7 決定是否使用Apply 4.4.8 存放序列化對像 4.4.9 支持數據格式轉換器 4.5 思維擴展 4.5.1 偏好界面的實現方案 4.5.2 監聽數據的改變 4.5.3 利用Tray實現多進程訪問 4.5.4 React Native中的使用 4.6 總結 第5章 尋找Fragment的繼任者 5.1 使用場景 5.1.1 日夜間模式 5.1.2 緩存界面數據 5.1.3 作為搜索頁 5.1.4 作為Presenter 5.2 源碼分析 5.2.1 Transaction簡介 5.2.2 提交操作 5.2.3 commitAllowingStateLoss 5.2.4 Add操作的原理 5.2.5 Replace操作的本質 5.2.6 Fragment的可見性監聽 5.2.7 ViewPager中的懶加載 5.3 常見問題 5.3.1 Activity為空 5.3.2 startActivityForResult 5.3.3 ViewPager的getItem 5.3.4 FragmentPagerAdapter 5.3.5 顯示一個對話框 5.3.6 重疊顯示的問題 5.3.7 Fragment的StateLoss 5.4 Fragment的替代品 5.4.1 Jetpack的Navigation 5.4.2 Square的Flow 5.4.3 簡化版的Fragment 5.5 Shatter庫 5.5.1 建立Shatter類 5.5.2 設計ShatterManager 5.5.3 分發生命周期 5.5.4 使用方式 5.6 總結 第6章 讓alertDialog為我所用 6.1 Dialog 6.1.1 Dialog和Window 6.1.2 Show和Dismiss方法 6.2 alertDialog 6.2.1 alertController 6.2.2 alertDialog.Bulder 6.3 dialogFragment 6.3.1 Fragment和Dialog 6.3.2 Show和Dismiss方法 6.4 實際問題 6.4.1 無法彈出輸入法 6.4.2 如何支持層疊彈窗 6.4.3 容易引起內存洩露 6.4.4 修改尺寸、背景和動畫 6.4.5 點擊後會自動關閉 6.4.6 在關閉或開啟時出現崩潰 6.5 封裝dialogFragment 6.5.1 用現成的alertParams 6.5.2 讓Builder類支持繼承 6.5.3 建立dialogFragment框架 6.6 easyDialog 6.6.1 基本用法 6.6.2 自定義一個Dialog 6.6.3 BottomSheetDialog 6.6.4 設置全局樣式 6.6.5 支持動態樣式 6.6.6 避免丟失監聽器 6.7 可全局彈出的Dialog 6.8 總結 第7章 Gradle的使用技巧 7.1 全局配置 7.1.1 設定UTF-8 7.1.2 依賴Google倉庫 7.1.3 支持Groovy 7.1.4 定義全局變量 7.1.5 配置Lint選項 7.2 操控Task 7.2.1 更改輸出的APK的名字 7.2.2 更改AAR輸出的位置 7.2.3 跳過AndroidTest 7.2.4 找出耗時的Task 7.2.5 抽離Task腳本 7.3 動態化 7.3.1 動態設置buildConfig 7.3.2 填充Manifest中的值 7.3.3 讓buildType支持繼承 7.3.4 讓Flavor支持繼承 7.3.5 內測版本用特定的Icon 7.3.6 不同渠道不同包名 7.3.7 自動填充版本信息 7.4 遠程依賴 7.4.1 配置Maven倉庫 7.4.2 依賴相關的API 7.4.3 組合依賴 7.4.4 依賴傳遞 7.4.5 動態版本號 7.4.6 強制版本號 7.4.7 exclude關鍵字 7.4.8 依賴管理 7.5 本地依賴 7.5.1 引用AAR 7.5.2 依賴Module/Jar 7.5.3 自建本地倉庫 7.5.4 本地依賴React Native 7.5.5 重新打包第三方Jar 7.6 資源管理 7.7 總結 第8章 縮減APK的編譯時間 8.1 分析項目現狀 8.1.1 Gradle Profile 8.1.2 BuildTimeTracker 8.1.3 Dexcount GradlePlugin 8.1.4 經驗小結 8.2 編譯環境優化 8.2.1 升級硬件設備 8.2.2 升級軟件 8.2.3 優化工程配置 8.2.4 配置Studio的可用內存 8.2.5 提升JVM的堆內存 8.2.6 開啟並行編譯 8.2.7 啟用Demand模式 8.2.8 配置DexOptions 8.3 善用緩存 8.3.1 減少動態方法 8.3.2 硬編碼BuildConfig和Res 8.3.3 拆分腳本 8.3.4 拆分代碼 8.3.5 寫死庫的版本號 8.4 精簡工程 8.4.1 差異化加載Plugin 8.4.2 使用WebP和SVG 8.4.3 精簡語言和圖片資源 8.4.4 善用no-op 8.4.5 Exclude無用庫 8.4.6 刪減Module 8.4.7 去掉MultiDex 8.4.8 刪除無用的資源 8.5 綜合技巧 8.5.1 構建開發時的Flavor 8.5.2 優化MultiDex 8.5.3 跳過無用的Task 8.5.4 關閉AAPT的圖片優化 8.5.5 調試時關閉Crashlytics 8.5.6 謹慎使用AspectJ 8.6 多渠道打包工具 8.6.1 MultiChannelPackageTool 8.6.2 美團的Walle 8.6.3 騰訊的VasDolly 8.7 總結 第9章 APP終極瘦身實踐 9.1 安裝包的構成 9.1.1 Assets 9.1.2 Lib 9.1.3 Resources.arsc 9.1.4 META-INF 9.1.5 Res 9.1.6 Dex 9.2 優化Assets目錄 9.2.1 刪除無用的字體 9.2.2 減少IconFont的使用 9.2.3 動態資源 9.2.4 壓縮資源文件 9.3 優化Lib目錄 9.3.1 配置ABI Filters 9.3.2 根據CPU引入so 9.3.3 動態加載so 9.3.4 避免復制so 9.3.5 謹慎處理so 9.4 優化Resources.arsc 9.4.1 刪除無用的映射 9.4.2 進行資源混淆 9.5 優化META-INF 9.5.1 MANIFEST.MF 9.5.2 CERT.SF 9.5.3 CERT.RSA 9.5.4 優化建議 9.6 優化Res目錄 9.6.1 通過IDE刪除無用資源 9.6.2 打包時剔除無用資源 9.6.3 刪除無用的語言 9.6.4 控制Raw中的資源大小 9.6.5 減少Shape文件 9.6.6 減少Menu文件 9.6.7 減少Layout文件 9.6.8 動態圖片 9.6.9 分目錄放置圖片 9.6.10 合理使用圖片資源 9.6.11 丟棄特定的資源 9.6.12 開啟嚴格模式 9.6.13 移除Lib庫中的配置文件 9.7 優化圖片資源 9.7.1 使用VectorDrawable 9.7.2 使用WebP 9.7.3 替換support庫中的圖 9.7.4 精簡動畫圖片 9.7.5 復用相同的Icon 9.7.6 使用Tint 9.7.7 復用按壓效果 9.7.8 通過旋轉復用 9.8 優化Dex 9.8.1 分析Dex 9.8.2 利用Lint分析無用代碼 9.8.3 刪除R文件 9.8.4 啟用ProGuard 9.8.5 使用拆分後的support庫 9.8.6 盡量不用Mulitdex 9.8.7 使用更小庫或合並現有庫 9.8.8 根據環境依賴庫 9.9 總結 0章 編寫針對性的TestCase 10.1 基礎概念 10.1.1 什麼代碼應被測試 10.1.2 編寫易於被測試的代碼 10.1.3 測試框架的選型 10.2 邏輯測試 10.2.1 Junit測試 10.2.2 Mockito 10.2.3 Robolectric的使用 10.2.4 Espresso 10.3 集成測試網絡層 10.3.1 編寫網絡層邏輯 10.3.2 建立測試對像 10.3.3 測試HTTP的異常情況 10.3.4 測試業務代碼的正確性 10.3.5 用Interceptor模擬返回值 10.4 總結 1章 Android Studio使用經驗 11.1 調試篇 11.2 插件篇 11.2.1 統計相關 11.2.2 工具相關 11.3 總結 2章 抓包工具Whistle實踐 12.1 抓包工具 12.1.1 Charles 12.1.2 Fiddler 12.1.3 AnyProxy 12.1.4 Whistle 12.2 Whistle的安裝和使用 12.2.1 安裝和更新 12.2.2 查看Request和Response 12.2.3 代理技巧 12.2.4 過濾規則 12.3 Whistle的各項功能 12.3.1 替換域名 12.3.2 修改請求參數 12.3.3 修改返回值 12.3.4 模擬低網速的情形 12.3.5 查看WebView的Console 12.4 總結
    內容虛線

    內容簡介

    size="789x11"

    本書從工程實踐角度詳細闡述了Android的知識內容,全書分為基礎知識和工程優化兩部分。在工程優化部分專門增加了常用的App編譯提速和瘦身的內容,對於大型分層項目的測試技巧也有所涉及。本書涵蓋Android開發的實際業務知識,涉及Dialog、Intent、Fragment等源碼的核心細節分析,並擴展了一部分框架設計的內容,章節很後總結了開箱即用的開源庫方案,實現從理論到實際的完整論述。很後還給出了抓包工具的使用技巧,幫助讀者能方便地尋找到適合自己的工具集。本書適合中、不錯Android程序員閱讀,也可以作為初級程序員進階學習的參考書。

    作者簡介

    金凱 著

    size="43x26"

    金凱,愛奇藝不錯工程師。致力於擺脫程序思維,尋找各種簡易的手段來方便程序的開發工作。目前的研究方向為Android業務基礎框架和AI相關方面。

    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部