新書推薦:
《
荷马:伊利亚特(英文)-西方人文经典影印21
》
售價:NT$
490.0
《
我的心理医生是只猫
》
售價:NT$
225.0
《
股权控制战略:如何实现公司控制和有效激励(第2版)
》
售價:NT$
449.0
《
汉译名著·哲学经典十种
》
售價:NT$
3460.0
《
成吉思汗传:看历代帝王将相谋略 修炼安身成事之根本
》
售價:NT$
280.0
《
爱丁堡古罗马史-罗马城的起源和共和国的崛起
》
售價:NT$
349.0
《
大宋悬疑录:貔貅刑
》
售價:NT$
340.0
《
人生解忧:佛学入门四十讲
》
售價:NT$
490.0
|
編輯推薦: |
本书以Android App性能优化为切入点,深入浅出地介绍了Android App性能优化的方法与技巧,还介绍了一些Android App产品疑难杂症的解决办法,帮助读者发现造成性能问题的症结,对症下药,打造出流畅的Android App产品。
|
內容簡介: |
本书以Android App性能优化为切入点,深入浅出地介绍性能优化的重要性和提升Android产品性能的方法与技巧。全书共分8章,主要内容包括:第1章介绍性能优化的重要性及开发环境的优化;第2章介绍3种静态代码检查工具的使用及技巧;第3章介绍Android Profiler的使用,通过对App运行时状态的跟踪揪出性能问题的元凶;第4~8章将性能优化融入整个开发流程中,做到未雨绸缪,这部分内容同样适用于对已有产品进行性能优化的参考。此外,本书针对各个优化主题都列举了进行性能优化的一般步骤及典型案例,以帮助读者快速提升实战技能。 本书适合所有Android开发人员使用,通过阅读本书读者能够建立敏锐的嗅觉,开发出高性能的Android产品,同时,可以通过合理的重构和代码优化改进现有的App产品。
|
關於作者: |
萧文翰
从业8年,对基于原生语言的Android App开发、Flutter跨平台开发拥有丰富的经验。先后供职于天津光电安辰信息技术股份有限公司、三星通信技术研究有限公司等。熟练运用Java、Kotlin、Dart等编程语言,长期活跃于CSDN、博客园、掘进社区等技术论坛,发表多篇有关App开发的实战经验文章。
|
目錄:
|
第1章 概述 1
1.1 为什么要做性能优化 1
1.1.1 性能优化的目的 1
1.1.2 App出现性能瓶颈的症状 2
1.1.3 提升App性能的步骤 3
1.2 配置高效的开发环境 4
1.2.1 Android Studio轻装上阵 4
1.2.2 Android Studio内存优化 7
1.2.3 加速Android SDK下载更新 8
1.2.4 加速依赖库下载 9
1.2.5 加速Gradle编译速度 10
第2章 静态代码审查 13
2.1 概述 13
2.1.1 静态代码审查的意义 13
2.1.2 安装静态代码审查工具 14
2.2 使用Android Lint进行代码审查 21
2.2.1 Android Lint概述及基本概念 21
2.2.2 运行Lint检查 22
2.2.3 自定义Lint检查范围 24
2.2.4 自定义Lint检查类型 27
2.3 使用CheckStyle进行代码审查 32
2.3.1 运行CheckStyle 32
2.3.2 自定义CheckStyle检查规则 40
2.4 使用SpotBugs进行代码审查 45
2.4.1 运行SpotBugs 46
2.4.2 SpotBugs分析能力 49
2.4.3 SpotBugs高级参数设置 50
2.4.4 自定义SpotBugs过滤器 52
2.5 使用PMD进行代码审查 59
2.5.1 运行PMD 59
2.5.2 PMD分析能力 62
2.5.3 自定义PMD过滤器 63
2.6 静态代码审查最佳实践 68
2.6.1 取其精华,合理运用 68
2.6.2 优化代码扫描过程 70
第3章 使用Android Profiler优化性能 73
3.1 Android Profiler初探 74
3.1.1 创建测试工程 74
3.1.2 Android Profiler视图简介 75
3.1.3 启动高级分析 76
3.1.4 Android Profiler监控的开始和停止 77
3.1.5 Android Profiler记录的保存和读取 78
3.2 使用CPU Profiler分析CPU使用情况 79
3.2.1 CPU Profiler支持记录的信息类型 79
3.2.2 认识和使用CPU Profiler图表 80
3.2.3 使用CPU Profiler破解掉帧难题 84
3.3 使用Memory Profiler分析内存使用情况 89
3.3.1 为什么要做内存优化分析 89
3.3.2 认识Memory Profiler 90
3.3.3 启动内存跟踪 91
3.3.4 使用Memory Profiler破解内存泄漏难题 93
3.3.5 更高效地使用Memory Profiler 95
3.4 使用Network Profiler分析网络流量 96
3.4.1 认识Network Profiler图表 96
3.4.2 借助Network Profiler优化网络操作 98
3.4.3 借助Network Profiler解决网络疑难 99
3.4.4 使用Network Profiler的注意事项 100
3.5 使用Energy Profiler分析电量使用情况 100
3.5.1 电池用量跟踪与其他类型跟踪的关系 100
3.5.2 认识和使用Energy Profiler耗电图表 101
3.5.3 正确理解Energy Profiler耗电图表的原则 104
第4章 高质量的App从架构开始 105
4.1 还原移动设备真实使用场景 105
4.1.1 硬件环境 106
4.1.2 软件环境 107
4.1.3 充分考虑人的因素 108
4.2 架构设计原则 108
4.2.1 原则一:分离关注点 108
4.2.2 原则二:使用模型驱动界面 109
4.3 软件设计架构之MVC 109
4.3.1 MVC的概念 109
4.3.2 实战演练 110
4.3.3 MVC模式的优劣 115
4.4 软件设计架构之MVP 116
4.4.1 MVP的概念 116
4.4.2 实战演练 117
4.4.3 MVP模式的优劣 121
4.4.4 巧妙弥补MVP架构的缺陷 121
4.5 软件设计架构之MVVM 122
4.5.1 MVVM的概念 122
4.5.2 实战演练 123
4.5.3 MVVM模式的优劣 129
4.6 总结 129
第5章 优雅地保活App 130
5.1 Android App保活之殇 130
5.1.1 Android推送服务的历史现状分析 131
5.1.2 传统的App保活方法 131
5.2 探索App保活黑科技 132
5.2.1 添加电池优化白名单 132
5.2.2 白名单内的App为何会被杀 139
5.2.3 重新设计推送服务 144
第6章 网络性能优化专题 147
6.1 网络交互与多线程 147
6.1.1 从AsyncTask谈起 148
6.1.2 正确使用AsyncTask 152
6.2 海量数据传输优化 156
6.2.1 使用GZIP压缩 156
6.2.2 数据增量更新技术 159
6.2.3 图片文件传输效率优化 162
第7章 优化APK体积 164
7.1 APK内部结构一瞥 164
7.2 多渠道打包 167
7.2.1 多渠道打包原理 167
7.2.2 实例解析 170
7.3 优化资源文件 173
7.3.1 图片格式的选择 173
7.3.2 合理使用矢量图 176
7.3.3 资源文件后加载技术 178
7.3.4 清理未使用的资源文件 179
7.4 使用代码混淆 179
7.4.1 R8编译器的优化原理 180
7.4.2 启用代码混淆 180
7.4.3 添加混淆例外项的两种方式 181
第8章 App耗电及Crash体验优化 183
8.1 电量优化原则 183
8.2 Android系统的耗电策略及应对方案 184
8.2.1 系统本身的策略及应对方案 184
8.2.2 使用adb模拟设备状态 188
8.3 App Crash体验优化 188
|
內容試閱:
|
在移动互联网行业高速发展的今天,移动App开发,尤其是Android App和iOS App无疑正处于移动开发领域中双足鼎立的重要位置。前者以77.14%的市场占有率(2019第二季度统计数据)遥遥领先,正在被大多数用户使用。这与其开放的特性、丰富的App以及自身的迭代发展密不可分。
与此同时,对App的要求已经不再是以能用为标准,更多的是易用、好用。这里面又关系到UIUE设计哲学、项目管理、架构设计、性能优化、压力测试等环节;类微信小程序的出现和流行也在不断地蚕食着独立App的装机量;再加上同类App的竞争已经发展为一场零和游戏诸多因素,导致了很多表现一般的App连在设备上站稳脚跟都很难。
因此,如何使独立App脱颖而出成为开发者最为关注的问题。本书的目的是帮助有一定开发基础的工程师快速进步,帮助企业打造运行更加流畅的App。
本书内容
全书总共分8章,主要内容概要如下:
第1章介绍进行性能优化的目的,即重要性,以及Android App出现性能问题的表现,帮助读者敏锐地嗅到问题。此外,还将详细介绍如何配置开发环境,让开发过程更加高效。
第2章介绍静态代码的检查方法,除了Google官方推荐的Lint工具外,还包含CheckStyle、SpotBugs以及PMD。
第3章介绍如何通过监视Android Profiler报表发现性能(包括CPU、内存、网络及耗电)问题,并定位到具体代码位置。
第4章则回到开发过程之初,详述移动架构即MVC、MVP和MVVM,并辅以三者的对比及实战演练。
第5章针对Android App保活进行专题讲解,详细描述保活问题的现状以及对策。
第6章针对Android App网络IO瓶颈进行专项突破,涉及网络异步线程请求优化、数据量传输优化等方面。
第7章来到产品预发布阶段,主要介绍优化APK安装包大小的方法,以及多渠道打包的技巧。
第8章针对Android App耗电以及异常崩溃处理进行优化。
通过本书的学习,读者可以了解当前的移动开发模式与传统软件开发模式在项目管理上的不同;如何设计Android App架构以实现易于开发、便于理解以及扩展性强的代码;如何查找App的性能问题,并在代码中快速定位它们;掌握Android Studio中自带的性能分析工具;掌握Android平台中常用的算法与设计模式,等等。
本书特色
本书的特点是注重实战,语言通俗易懂,全流程化地介绍了Android App开发过程中各个环节的优化方法与技巧以及相关优化工具,另外还介绍了一些疑难杂症的解决办法,让读者阅读本书后可以运用在自己的实际开发中,特别适合有一定开发基础的工程师,以及移动App项目管理者阅读。
读者可根据自身需求逐章节阅读,也可在遇到问题时直接选择对应内容的章节查找答案。相信通过本书的学习,能够帮助读者建立敏锐的嗅觉,快速找到性能问题的解决办法,打造出流畅的App产品。
本书源代码下载
读者扫描右侧二维码可以下载本书示例源代码。
如果你在下载过程中遇到问题,可发送邮件至booksaga@126.com获得帮助,邮件标题为打造流畅的Android App。
本书适合的读者
本书适合所有Android开发人员使用,通过阅读本书读者能够建立敏锐的嗅觉,开发出高性能的Android产品,同时,可以通过合理的重构和代码优化改进现有的App产品。
致谢
感谢本书的策划编辑王金柱老师,他高效的工作使得本书得以早日与读者见面。
感谢我的挚友、导师和妻子卢艳雁女士对我写书的支持、陪伴和鼓励。
感谢我的同事们,在工作中,你们不断给我带来灵感和帮助,很珍惜和你们在一起的时光。
感谢所有关注我的朋友们,你们的认可和激励使我拥有前行的动力。
由于笔者水平有限以及技术的快速迭代,书中内容难免会有错误,欢迎读者批评指正。
萧文翰
2020年3月
|
|