Android高性能编程

本书特色

[

本书旨在为Android开发者指明提高应用程序性能的方向。第1章就什么是高性能,为什么需要高性能展开讨论。第2章为读者展示了一些用于调试应用程序的工具,方案以及技巧。第3-8章,围绕着布局,内存,多线程,网络,安全,电量消耗,等多个方面,阐述如何打造高性能应用程序。第9章相对独立,介绍的是原生开发。第10章与前面章节的关系也不大,涵盖了一些琐碎,但对性能至关重要的提示,例如,图像处理,序列化,优化APK文件等等。

]

内容简介

[

本书旨在为Android开发者指明提高应用程序性能的方向。第1章就什么是高性能, 为什么需要高性能展开讨论。第2章为读者展示了一些用于调试应用程序的工具, 方案以及技巧。第3-8章, 围绕着布局, 内存, 多线程, 网络, 安全, 电量消耗等多个方面, 阐述如何打造高性能应用程序。第9章相对独立, 介绍的是原生开发。第10章与前面章节的关系也不大, 涵盖了一些琐碎, 但对性能至关重要的提示, 例如, 图像处理, 序列化, 优化APK文件等等。

]

作者简介

[

Enrique López Ma?as是Google公司的一位研发专家和独立IT顾问。他从2007年开始学习并从事移动研发技术。他是一名狂热的开源社区贡献者,一位免费开源软件拥护者,德国排名前10的Java开源贡献者。他加入了Google创业加速器计划,其中,他参与并影响了来自全球的几百个最佳孵化项目。同时,他也是一位大数据和机器学习爱好者。Diego Grancini拥有佩鲁贾大学的电信IT工程学位。他致力于研究Android开发超过6年的时间,领导并促成了多个项目,在他的职业生涯中,十分热衷于教授和分享他的技术。
叶坤,豆瓣Android工程师。负责豆瓣FM Android客户端研发。热爱运动、旅行、画画、探戈,偶尔玩玩钢琴。负责豆瓣FM Android客户端研发。热爱运动、旅行、画画、探戈,偶尔玩玩钢琴。

]

目录

1 引言:为什么需要高性能? 1为什么应用程序的性能意味着这么多? 2手动测试和自动测试 3ANR和软件中的延迟 3什么会触发ANR,我该如何避免它们? 4Android架构 4Dalvik虚拟机 5内存管理 5电量消耗 6Java语言 7NDK/在需要时进行原生开发 7程序响应相关的3个临界值 8软件质量的商业价值 8总结 92 高效调试 11ADB 11DDMS 12采集和分析线程信息 14堆分析和可视化 16Allocation Tracker 19网络使用 20Emulator Control 22系统状态 23调试UI 24使用Hierarchy Viewer 26Systrace 28Android设备调试选项 29Android即时运行 38GPU分析器 39使用GPU分析器进行调试 41ClassyShark 42开始使用 42总结 463 打造布局 47预览 47渲染性能 47屏幕撕裂和垂直同步 50多窗口模式 57*佳实践 63布局概述 64布局层次管理 64布局复用 70ViewStub 73AdapterView和视图回收 74自定义视图和布局 78屏幕缩放 83调试工具 84Design窗口 85Hierarchy Viewer 86设备上的调试工具 90Systrace 97总结 1014 内存 103预览 103内存如何工作 104垃圾回收 104内存共享 104运行时 105Android N 即时编译器 106内存泄露 107内存抖动 108引用 108内存相关的项目 109*佳实践 111数据类型 111语法 117常量 123对象管理 124内存设计模式 129Android组件泄露 137进程 150内存API 151主要组件和内存管理 153调试工具 156LogCat 156ActivityManager API 159StrictMode 160Dumpsys 161总结 1685 多线程 169预览 169线程基础 170Android多线程环境 174Android应用程序线程 175Android线程消息 176*佳实践 179线程 179HandlerThread 179AsyncTask 181Loaders 185Services 188进程间通信 197先进的技术 202调试工具 210StrictMode 210总结 2116 网络 213预览 213协议 215方法 216头部 216超时 217内容 217响应码 218连接类型 218*佳实践 219延迟测定 219批量连接 221对响应进行缓存 222指数退避算法 226轮询VS推送 228所提供的API 229Android N带来的新变化 234调试工具 243Android N网络ADB工具 244Fiddler 244Wireshark 245Application Resource Optimizer 246网络衰减 248模拟网络加速和延迟 248总结 2527 安全 255WhatsApp ?C 连续出现问题 256深入代码 258捕获APK文件 259从设备上拉取APK文件 259利用Wireshark捕获APK文件 260利用外部网站 261剖析APK文件 262代码注入 267操作码 270注入新代码 270签名并重新构建应用程序 273保护应用程序 274非安全存储 277SharedPreferences 277内部存储 278外部存储 280删除文件 282使用外部存储还是内部存储 282数据库 283数据库中的性能 284SQL注入 284ORM框架 286OrmLite 286SugarORM 287GreenDAO 288Realm 289网络 289通信加密 290嗅探 290总结 2928 优化电量消耗 295分析 295监测电池电量和充电状态 298识别充电状态的变化 299确定及响应电池电量的变化 300Doze和App Standby 301理解Doze 301避免无用的网络请求 302按需对待BroadcastReceivers 304网络 305总结 3069 Android中的原生代码 309入门——在系统中配置NDK 310JNI 311基本概念 312创建首个JNI程序HelloWorld-JNI 313使用Android NDK创建一个原生Activity 318调试NDK 321Android.mk 324NDK定义的变量 325TARGET_PLATFORM 325TARGET_ARCH 325TARGET_ABI 326NDK提供的宏 326Application.mk 327引入已存在的库 329导出头文件 330总结 33010 性能提示 333位图 333加载 334处理 340缓存 341显示 346管理内存 348图像优化 352分辨率 353压缩 354序列化 354JSON的改进 354JSON的替代品 356本地序列化 363代码改进 363Getter和Setter 364内部类 365Android N中的Java 8 368设置 368特性 368Jack工具链 372APK优化 374移除未使用的代码 374移除未使用的资源 374总结 376

封面

Android高性能编程

书名:Android高性能编程

作者:(西)Enrique Lopez Man

页数:20,379页

定价:¥99.0

出版社:电子工业出版社

出版日期:2018-01-01

ISBN:9787121328879

PDF电子书大小:36MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注