网站颜色:

5082884|正版包邮现货Android应用性能优化实践/Android书籍/Android移动开发/安卓应用程序开发教程书籍/Android内存性

  • 产品名称:Android应用性能优化最佳实...
  • 书名:Android应用性能优化最佳实践
  • 作者:无
  • 定价:59.00元
  • 书名:Android应用性能优化最佳实践
  • 是否是套装:否
  • 出版社名称:机械工业出版社

书名: 5082884|正版包邮现货Android应用性能优化实践/Android书籍/Android移动开发/安卓应用程序开发教程书籍/Android内存性
图书定价: (咨询特价)
图书作者: 罗彧成
出版社: 机械工业出版社
出版日期: 2017-02-01 0:(咨询特价)
ISBN号: (咨询特价)
开本:16开
页数:0
版次:1-1
作者简介
罗彧成腾讯音乐Android开发总监,从事移动应用开发工作10余年,在Android、Linux、WinCE等平台上有丰富的开发经验。对Android应用开发有深刻的认识,特别在架构设计、性能优化等方面有丰富的实战经验,主导并参于过多个用户规模上亿的Android应用开发工作。同时在车载网络、家庭网络协议方面也有丰富的开发经验。曾在多个有影响力技术峰会发表过主题演讲。
内容简介
本书旨在用腾讯的亿级用户App的开发经验帮助你打造高质量的Android 应用。从WinCE时代开始,作者从事移动应用开发10余年,现担任腾讯音乐Android平台的开发总监,主导并参于过多个用户规模上亿的Android应用开发工作,对Android应用开发有深刻的认识,特别在架构设计、性能优化等方面有丰富的实战经验。本书从用户体验的角度,将性能问题总结为4类:(1)快:流畅的操作体验(2)稳:稳定(3)省:省电、省流量(4)小:安装包要尽可能小导致出现这4类问题的原因可能是卡顿、内存使用不合理、代码质量差、代码逻辑不优秀、安装包过大等。本书从绘制(UI)、内存、存储、稳定性、耗电以及安装包6个方面深入讲解了性能优化具体涉及的技术以及优化方案,同时讲解了多种性能优化工具的使用。此外,还提供了典型的案例,帮助读者理解Android的运行机制和原理,掌握Android性能优化的思路和有效方法。
目录
前言
第1章 Android Studio使用指南1
1.1 Android Studio的优势1
1.2 Android Studio使用入门2
1.2.1 Android Studio安装2
1.2.2 创建一个Android Studio工程3
1.2.3 从Eclipse项目迁移到Android Studio5
1.3 Android Studio实用技巧7
1.3.1 代码管理7
1.3.2 代码编辑技巧8
1.3.3 调试技巧10
1.4 本章小结11
第2章 绘制优化12
2.1 Android系统显示原理13
2.1.1 绘制原理13
2.1.2 刷新机制16
2.1.3 卡顿的根本原因20
2.2 性能分析工具21
2.2.1 卡顿检测工具22
2.2.2 TraceView23
2.2.3 Systrace UI性能分析26
2.3 布局优化29
2.3.1 常用布局优化工具30
2.3.2 布局优化方法34
2.4 避免过度绘制43
2.4.1 过度绘制检测工具44
2.4.2 如何避免过度绘制44
2.4.3 案例:无过度绘制View的实现45
2.5 启动优化49
2.5.1 应用启动流程49
2.5.2 启动耗时监测52
2.5.3 启动优化方案56
2.6 合理的刷新机制58
2.6.1 减少刷新次数58
2.6.2 避免后台线程影响59
2.6.3 缩小刷新区域59
2.7 提升动画性能60
2.7.1 帧动画60
2.7.2 补间动画60
2.7.3 属性动画62
2.7.4 硬件加速63
2.8 卡顿监控方案与实现66
2.8.1 监控原理67
2.8.2 代码实现68
2.9 本章小结79
第3章 内存优化80
3.1 Android内存管理机制81
3.1.1 Java对象周期81
3.1.2 内存分配82
3.1.3 内存回收机制84
3.1.4 GC类型86
3.2 优化内存的意义87
3.3 内存分析工具90
3.3.1 Memory Monitor90
3.3.2 Heap Viewer91
3.3.3 Allocation Tracker94
3.4 避免内存泄漏96
3.4.1 内存泄漏定义97
3.4.2 使用MAT查找内存泄漏97
3.4.3 常见内存泄漏场景103
3.4.4 内存泄漏监控106
3.5 优化内存空间109
3.5.1 对象引用109
3.5.2 减少不必要的内存开销110
3.5.3 使用最优的数据类型112
3.5.4 图片内存优化117
3.6 图片管理模块设计与实现120
3.6.1 实现异步加载功能121
3.6.2 实现三重缓存130
3.6.3 开源图片组件140
3.7 本章小结142
第4章 存储优化144
4.1 存储方式144
4.1.1 SharedPreferences145
4.1.2 文件存储145
4.1.3 SQLite(需要扩展)146
4.1.4 ContentProvider147
4.2 序列化147
4.2.1 Serializable与Parcelable148
4.2.2 Gson实现JSON的序列化和反序列化148
4.2.3 Nano Proto Buffers149
4.2.4 FlatBuffers149
4.2.5 小结150
4.3 SharedPreferences优化150
4.4 数据库使用及优化151
4.4.1 数据库实现152
4.4.2 数据库优化157
4.5 本章小结161
第5章 稳定性优化162
5.1 提高代码质量162
5.1.1 代码审查163
5.1.2 代码静态扫描工具166
5.2 Crash监控168
5.2.1 Java层Crash监控168
5.2.2 Native层Crash监控171
5.2.3 Crash上报机制173
5.3 ANR剖析173
5.3.1 ANR介绍173
5.3.2 ANR分析174
5.3.3 ANR监控176
5.4 提高后台进程存活率178
5.4.1 应用进程优先级178
5.4.2 利用SyncAdapter提高进程优先级180
5.5 本章小结183
第6章 耗电优化184
6.1 耗电检测工具184
6.2 三大模块省电优化187
6.2.1 显示187
6.2.2 网络188
6.2.3 CPU189
6.3 应用常用优化方案191
6.3.1 计算优化191
6.3.2 避免WakeLock使用不当192
6.3.3 使用Job Scheduler193
6.4 Doze模式197
6.4.1 Doze模式介绍197
6.4.2 Doze模式应用策略198
6.4.3 测试Doze模式应用工作状态199
6.5 本章小结199
第7章 安装包大小优化200
7.1 应用装包的构成200
7.2 减少安装包大小的常用方案203
7.2.1 代码混淆203
7.2.2 资源优化204
7.2.3 其他优化206
7.3 本章小结207
结束语208
编辑推荐
(1)腾讯音乐Android开发总监撰写,从事移动开发10余年,曾主导并参于过多款用户规模上亿的Android应用的开发工作(2)以流畅、稳定、省电、省流量4个方向为目标,从UI、内存、存储、稳定性、省电、安装包大小6个维度深入剖析性能优化的技术和方案
为什么写这本书
一个好的应用,除了要有吸引人的功能和交互之外,在性能上也应该有高的要求,即使应用非常具有特色,或者功能和业务具有唯一性,在产品前期可能吸引了部分用户,但用户体验不好的话,也会给产品带来很差的口碑,如果有在体验上更好的竞品,用户也会很快转移。那么一个好的应用应该如何定义呢?主要有三方面:
业务/功能
符合逻辑的交互
优秀的性能
众所周知,Android系统作为以移动设备为主的一款操作系统,硬件配置有一定的限制,虽然配置现在越来越高级,但仍然无法和PC相比,在CPU和内存上的使用不合理或者耗费资源多时,就会碰到内存不足导致的稳定性问题、CPU消耗太多导致的卡顿问题等。例如,我们发布一款产品后会收到很多的反馈,这些反馈来自很多渠道,有用户反馈,有应用发布平台的反馈通道等。
面对这些问题时,大家想到的都是用户,然后看日志,特别是有关性能类问题的反馈,原因也非常难找,日志大多用处不大,为什么呢?因为性能问题大部分是非必现的问题,定位时很难复现,而又没有关键的日志,当然就无法找到原因了。这些问题非常影响用户的体验和功能的使用,所以解决这些问题是非常重要的。当前市场上讲解性能优化的书太少,即使有些书讲惮很多也是一笔带过,没有深入分析和寻找解决方案,所以有必要用一本书来从多个维度讲解在性能上我们面临了什么问题,如何解决这些问题,并在实际的项目中来优化我们的应用,以提高用户体验。
本书面向的读者
本书适合所有Android应用开发从业人员及在校学生,特别是有一定Android应用开发经验的开发人员,高级开发人员也可以通过本书了解更多的性能调优知识。
本书特色
本书为进阶类图书,对于一些基础技术和基础理论知识不会做过多的阐述,特别是入门类的知识点,大家可以从其他书籍获取相关的知识。书中以性能优化为核心,深入剖析性能优化具体涉及的技术背景与优化方案,同时提供典型案例,帮助读者更深入地掌握Android应用开发技术,理解Android的运行机制和原理,掌握Android性能优化的思想,让开发者快速成长,打造高质量的Android应用。
本书的主要内容
可以把用户能体验到的性能问题主要总结为4个类别:
流畅
稳定
省电
省流量
性能问题的主要原因是什么,原因有相同的,也有不同的,但归根结底,不外乎内存使用、代码效率、合适的策略逻辑、代码质量这一类问题。本书讲解内容的目标和方向如下图所示。
从上图可以看惮打造一个高质量的应用应该以4个方向为目标:快、稳、省、小。
快:使用时避免出现卡顿,响应速度快,减少用户的等待时间,满足用户预期。
稳:降低crash率和ANR率,不要在用户使用过程中崩溃和无响应。
省:节省流量和耗电,减小用户使用成本,避免使用时导致发烫。
小:安装包小可以降低用户的安装成本。
这4类问题需要从根源上解决,也就是要解决图中第二个框里的问题:卡顿、内存使用不合理、代码质量差、代码逻辑不优秀、安装包过大。这些问题也是在开发过程中碰到最多的问题,在实现业务需求的同时,也需要考虑到这些点,多花时间去思考,避免功能完成后再来做优化和修复Bug,这个时候带来的成本会增加。如果是维护之前的代码,就需要使用一系列工具来发现问题点。
性能优化不是更新一两个版本可以解决的,是持续性的需求,结合到实际中,在一个新产品/项目开始时,由于人力和上线时间的限制,可以把优先级放低,但有些点是在写代码时就要考虑的,这就体现出程序员的技术功底。
本书强调性能调优的核心思想和方向如下:
发现问题→分析问题原因及背景→寻找最优解决方案→解决问题。
本书一共7章,在简单介绍了Android Studio的使用指南后,分别从绘制(UI)、内存、存储、稳定性、耗电以及安装包6个方面进行优化,从系统上深入分析绘制和内存的原理,一步步深入了解导致性能问题的本质原因,同时讲述了多种性能优化工具的使用,通过分析典型案例,得到有效的优化方案,从而实现更高质量的应用。书中所讲述的内容均基于Android 6.0系统。
勘误和资源下载
由于写作时间实在有限,在书稿交付时仍有些许不安,为此先为此书可能存在的错误或者描述不清楚的地方致以真诚的歉意,如果你发现此书存在瑕疵或者有任何建议,请发邮件到5482586@qq.com,我会尽快回复,非常期待大家的反馈。
本书代码的下载地址:http://pic.witcp.com/pic/github.com/lyc7898/AndroidTech。
致谢
由于时间的问题,本书写作时间非常长,非常感谢杨福川编辑对我的鼓励和宽容,并且分享了非常有用的碎片化写作方法,使我一直坚持把本书写完。同时感谢李艺编辑的校对和勘误,才完成了这本图文并茂、格式清晰的技术书籍。
感谢我的妻子李萍女士对我的理解和支持,在我几乎将所有的时间投入工作中时一直给予最大的宽容和鼓励,使我每天即使再忙再累时仍然可以回到温馨的家。同时感谢我的父母和岳父母,感谢他们对我无私的帮助,他们都是伟大的父母。
特别感谢我的爷爷罗志华老先生,在我的学习生涯中给予的无私帮助,在工作和生活上的谆谆教诲。还要感谢刘景瑜老师,在求学阶段的鼓励和教诲,告诉我有很多需要去做的事情。
最后感谢我现在工作的公司,在这里我得到了最快的成长,学习到非常多的东西,感谢公司领导及所有同事,在这里工作,能感受到大家每天都在成长。
..

本店所售图书均为正版书籍

热门设计服务