基本信息
- 作者: [美] Doug Sillars
- 译者: 王若兰 周丹红 夏恩龙 陈文超 李欣欣
- 出版社:人民邮电出版社
- ISBN:9787115435705
- 上架时间:2016-10-12
- 出版日期:2016 年10月
- 开本:16开
- 页码:220
- 版次:1-1
-
所属分类:计算机
编辑推荐
本书主要关于如何提高Android App的性能以便为用户提供极致的体验,在智能设备广泛应用的今天,这本书对开发人员来说十分有用。本书有助于开发人员更进一步了解Android App性能方面的问题,不断改善App性能,更适应用户需求。
内容简介
作译者
Doug Sillars
是 AT&T 开发者计划中的性能推广领导者。他帮助了成千上万的移动开发人员将性能的最佳实践应用到 App 上。他开发的工具和总结的最佳实践,帮助开发人员使 App 运行得更快,同时使用了更少的数据和电量。他和妻子生活在华盛顿州的一个小岛上,并在家教育三个孩子。
是 AT&T 开发者计划中的性能推广领导者。他帮助了成千上万的移动开发人员将性能的最佳实践应用到 App 上。他开发的工具和总结的最佳实践,帮助开发人员使 App 运行得更快,同时使用了更少的数据和电量。他和妻子生活在华盛顿州的一个小岛上,并在家教育三个孩子。
目录
译者序 xi
序 xiii
前言 xv
第1章 Android 的性能指标 1
1.1 性能对用户很重要 2
1.1.1 电子商务和性能 2
1.1.2 电子商务之外的影响 3
1.1.3 性能可以节省基础设备 4
1.2 最恶劣的性能影响因素:宕机 4
1.2.1 低性能就像持续的宕机 5
1.2.2 消费者对性能bug 的态度 7
1.2.3 智能手机电池寿命:矿井中的金丝雀 8
1.3 App 性能问题的检测 8
1.3.1 模拟测试 9
1.3.2 真实用户监测 9
1.4 总结 9
第2章 构建Android 设备实验室 10
2.1 你的用户都在使用什么设备 11
2.2 设备特性分布 11
2.2.1 屏幕 11
序 xiii
前言 xv
第1章 Android 的性能指标 1
1.1 性能对用户很重要 2
1.1.1 电子商务和性能 2
1.1.2 电子商务之外的影响 3
1.1.3 性能可以节省基础设备 4
1.2 最恶劣的性能影响因素:宕机 4
1.2.1 低性能就像持续的宕机 5
1.2.2 消费者对性能bug 的态度 7
1.2.3 智能手机电池寿命:矿井中的金丝雀 8
1.3 App 性能问题的检测 8
1.3.1 模拟测试 9
1.3.2 真实用户监测 9
1.4 总结 9
第2章 构建Android 设备实验室 10
2.1 你的用户都在使用什么设备 11
2.2 设备特性分布 11
2.2.1 屏幕 11
译者序
译者序
相信所有早期的Android 开发者都被性能问题折腾过。那时这方面的资源几乎搜索不到,更不要提性能优化的最佳实践了。开发者真的是在实战中摸着石头过河,四处碰壁,一身是伤地总结出了很多经验。相信到了现在,每个技术团队都有自己沉淀的一套方法。但时至今日,市面上并没有出现一本指导性的书籍。
当本书的原著刚出版的时候,我们有幸很早就看到了。我们认为这本书非常有价值,有关性能方面的内容非常全面且具有实际的指导意义。当时我们的团队也正在尝试更多的性能优化,于是就决定将这本书翻译出来,让更多的人能够了解和学习到这些经验,并且运用到实际开发中。因此,我们组建了一个翻译小组,一边学习实践,一边翻译这本书。
这里先感谢所有参与到本书翻译过程当中的小伙伴。
酒店部:周丹红、王若兰、杨鑫、罗佳妮、杜航宇。
猫眼部:夏恩龙、陈文超、李欣欣、雷健龙、张涛。
感谢辅助翻译工作的马圣超、高飞、于振兴。
尤其感谢以下五位同学:周丹红、王若兰、夏恩龙、陈文超、李欣欣,他们牺牲了自己的大量业余时间来做这件事情,非常辛苦。
另外,还要感谢后期参与技术指导和校对的同学,找到这些同学的时候,他们毫不犹豫地答应了,为我们提供了大量的建议,同时指正了很多错误。
感谢参与校对的小伙伴(不分先后):袭建帅、王康、武智、田洪晖、王京。
这里特别感谢刘江老师。我们之前没有太多的翻译经验,是刘江老师为我们提供了很多建设性的建议,让我们少走了很多弯路。
总之,这本书能够顺利出版,离不开大家的努力和帮助。因为能力有限,书中免不了出现一些问题,还请大家包容并给出建议。若对本书内容有任何疑问或建议,可发邮件至:sankuaimj@gmail.com。
相信所有早期的Android 开发者都被性能问题折腾过。那时这方面的资源几乎搜索不到,更不要提性能优化的最佳实践了。开发者真的是在实战中摸着石头过河,四处碰壁,一身是伤地总结出了很多经验。相信到了现在,每个技术团队都有自己沉淀的一套方法。但时至今日,市面上并没有出现一本指导性的书籍。
当本书的原著刚出版的时候,我们有幸很早就看到了。我们认为这本书非常有价值,有关性能方面的内容非常全面且具有实际的指导意义。当时我们的团队也正在尝试更多的性能优化,于是就决定将这本书翻译出来,让更多的人能够了解和学习到这些经验,并且运用到实际开发中。因此,我们组建了一个翻译小组,一边学习实践,一边翻译这本书。
这里先感谢所有参与到本书翻译过程当中的小伙伴。
酒店部:周丹红、王若兰、杨鑫、罗佳妮、杜航宇。
猫眼部:夏恩龙、陈文超、李欣欣、雷健龙、张涛。
感谢辅助翻译工作的马圣超、高飞、于振兴。
尤其感谢以下五位同学:周丹红、王若兰、夏恩龙、陈文超、李欣欣,他们牺牲了自己的大量业余时间来做这件事情,非常辛苦。
另外,还要感谢后期参与技术指导和校对的同学,找到这些同学的时候,他们毫不犹豫地答应了,为我们提供了大量的建议,同时指正了很多错误。
感谢参与校对的小伙伴(不分先后):袭建帅、王康、武智、田洪晖、王京。
这里特别感谢刘江老师。我们之前没有太多的翻译经验,是刘江老师为我们提供了很多建设性的建议,让我们少走了很多弯路。
总之,这本书能够顺利出版,离不开大家的努力和帮助。因为能力有限,书中免不了出现一些问题,还请大家包容并给出建议。若对本书内容有任何疑问或建议,可发邮件至:sankuaimj@gmail.com。
前言
你正在构建一个Android App 吧(或者你已经构建了一个App)?你肯定对自己App 的性能并不满意。(不然你为什么要看这本书呢?)揭示移动App 的性能问题是一个持续性的工作。我的研究发现,98% 的App 存在潜在的性能改进空间。本书将涵盖移动性能的隐患,并为你介绍一些测试这些问题的工具。我的目标是帮助你获得这些必要的技能,在重大的性能问题影响到用户之前捕获它。
研究表明,用户期望移动App 能够快速加载,迅速响应用户的交互,并且在视觉上很流畅、美观。随着App 变得更加快速,用户的参与度和收益也在增长。没有关注性能的App的卸载率和那些会崩溃的App 的卸载率相同。那些资源利用率低的App 会造成不必要的电池消耗。运营商和设备制造商收到用户投诉最多的就是电池寿命了。
在过去的几年里,我和成千上万的开发者谈过Android App 的性能问题。很少有开发者知道有可用的工具能够解决他们遇到的问题。
明确的共识是:运行快速、流畅的移动App 会更多地被使用,能够为开发者带来更多的收益。令人惊奇的是,哪怕知道这些,很多开发者还是没有使用可用的工具来诊断和定位他们App 中的性能问题。通过关注性能的提升是如何影响用户体验的,你能够快速地了解你对App 所做的性能优化工作所带来的收益。
本书读者
本书以Android 性能为中心涵盖了一系列广泛的主题。任何和移动开发相关的人员都会喜欢本书中关于App 性能的研究。非Android 移动开发者将会发现书中关于App 性能的争论和问题是非常有用的,但用于隔离问题的工具是专门用于Android 的。
测试人员将会发现用于测试Android 性能的工具的教程也同样非常实用。
我为什么写这本书
开发者在Web 性能这个广阔的新兴领域里分享了提高Web 速度的技巧。Steve Souders 在2007 年写了《高性能网站建设指南》一书,众多书籍、博客和会议都讨论了这个主题。
此前,移动App 的性能很少受到关注。App 运行缓慢都被归罪于操作系统或者移动网络,而电量持续时间短则被归罪于设备的硬件。随着手机越来越快,操作系统越来越成熟,用户开始明白App 对手机性能的影响。
有很多非常棒的工具可以用来衡量Android App 的性能,但是到目前为止,还没有人对它们进行归纳和整理。通过介绍Google、Qualcomm、AT&T 以及其他公司的性能测量工具,我希望本书能将Android 性能测试的奥秘展现出来,帮助你的App 在不增加用户耗电量的情况下运行得更加快速。
本书预览
当研究App 性能时,我选择了研究App 的代码对Android 设备不同方面的影响。我们将从一个比较高阶的层面开始:性能和Android 的生态系统,然后查看App 对屏幕、CPU 以及网络栈等的影响。
第1 章,Android 的性能指标这一章介绍了移动App 的性能这一话题。我们将用一些例子来证明App 性能的重要性。文中会强调现在面临的挑战,同样也会列出性能低下在应用市场中的影响。我们还会列出一些统计数据,你可以拿这些数据去说服管理层,让他们在提高App 性能方面投入更多的精力和时间。这里所给出的数据一般涵盖了所有的移动平台和设备。
第2 章,构建Android 设备实验室这一章将讨论测试。Android 是一个巨大的生态系统,包括了上万种设备,并且每一种设备都有不同的UI、屏幕、处理器以及操作系统版本(仅举几例)。我将探索一些方法,帮助你测试尽可能多的设备,并且不会花费过高。
第3 章,硬件性能和电池续航接下来,我们将讨论电池,包括电量流失的原因以及流失的多少。另外,这一章将讨论用户是如何发现App 中的电量问题的,以及如何使用开发工具来避免这些问题。我们也会学习新的JobScheduler API(在Lollipop 版本中发布),它可以从操作系统中唤起App。
第4 章,屏幕和UI 性能屏幕是手机上功耗最大的一部分。屏幕是App 的主要接口,性能差的App 的卡顿(跳帧)和慢速渲染正是通过屏幕展现出来的。这一章将通过使层级更加扁平化来一步步优化UI,然后介绍如何使用Systrace 等工具对App 进行卡顿和抖动的测试。
第5 章,内存性能;第6 章,CPU 与CPU 性能我们在这两章讨论内存和CPU 问题,如垃圾回收、内存泄露,以及它们是如何影响App 性能的。你将学会如何运用测试工具,如procstats、内存分析工具 (MAT)和Traceview,剖析App 以发现潜在的问题。
第7 章,网络性能我们将在这一章讨论App 的网络性能。我们从这里开始探讨移动性能优化,探究App是如何与服务器进行通信的,以及我们应该如何加强这些通信。然后介绍如何测试App在慢网上的性能,因为许多发展中国家未来几十年用的可能都是2G 和3G 网络。
序言
序
对于广大的Android 开发者来说,性能是他们最后才考虑的事情。大多数的App 开发更强调个性化,开发者的目标是使UI 看起来完美并且找到一个可行的商业化道路。但是,App的性能很大程度上像是家里的管道;当它正常工作时,没有人会关注或者考虑到它,然而一旦出错,人们马上就会陷入麻烦当中。
你看,用户在注意到社交小工具、图像过滤器或者是支持克林贡语等其他特性之前,会先注意到App 的性能不好。并且你猜怎么着?用户因为不满意性能而给App 差评的比例要高于因其他问题而给App 差评的比例。
这也是我们说性能很重要的原因。开发App 的时候,很容易就会忽略性能,但坦率地说,性能涉及你所做的一切。当性能体验不好时,用户就会开始抱怨,进而卸载你的App,然后报复性地给你一个差评。考虑到这些,性能听起来更像是应该关注的一个特征,而不是必须忍受的一种负担。
但实话实说,提升性能是一件非常困难的事情。仅仅了解算法是不够的,你还需要了解Android 系统是如何执行它的,以及硬件又是如何响应Android 系统的操作的。事实上,一行代码有可能会破坏整个App 的性能,只是因为它滥用了一些硬件限制。但困难不仅仅是这些,因为有时候为了了解后台发生的事情,你甚至必须学习一整套的性能分析工具。这基本上是看待App 开发的一种全新的方式,并不适合怯于挑战的人。
Doug 写的这本书有什么了不起的地方呢?这本书是Android 性能方面的实战指南,不仅涵盖了基本的算法话题,还深入到了硬件和平台的工作方式,让你能够了解工具的异常显示是什么含义。这是一本能够帮助工程师转换视角的书。它不再只是关注视图和事件监听器,而是慢慢转换为理解内存边界和线程问题了。
凌晨4 点,你的App 运行状况不好,咖啡机也坏了,并且创业孵化器室里有股烂白菜的味道;为了确保上午10:00 同风险投资者的会议能够顺利进行,你应该看看这本书。祝你好运!
——Colt McAnlis,资深布道师,谷歌公司团队主管,Google 的Android 性能模式系列视频的讲师(https://goo.gl/4ZJkY1)
对于广大的Android 开发者来说,性能是他们最后才考虑的事情。大多数的App 开发更强调个性化,开发者的目标是使UI 看起来完美并且找到一个可行的商业化道路。但是,App的性能很大程度上像是家里的管道;当它正常工作时,没有人会关注或者考虑到它,然而一旦出错,人们马上就会陷入麻烦当中。
你看,用户在注意到社交小工具、图像过滤器或者是支持克林贡语等其他特性之前,会先注意到App 的性能不好。并且你猜怎么着?用户因为不满意性能而给App 差评的比例要高于因其他问题而给App 差评的比例。
这也是我们说性能很重要的原因。开发App 的时候,很容易就会忽略性能,但坦率地说,性能涉及你所做的一切。当性能体验不好时,用户就会开始抱怨,进而卸载你的App,然后报复性地给你一个差评。考虑到这些,性能听起来更像是应该关注的一个特征,而不是必须忍受的一种负担。
但实话实说,提升性能是一件非常困难的事情。仅仅了解算法是不够的,你还需要了解Android 系统是如何执行它的,以及硬件又是如何响应Android 系统的操作的。事实上,一行代码有可能会破坏整个App 的性能,只是因为它滥用了一些硬件限制。但困难不仅仅是这些,因为有时候为了了解后台发生的事情,你甚至必须学习一整套的性能分析工具。这基本上是看待App 开发的一种全新的方式,并不适合怯于挑战的人。
Doug 写的这本书有什么了不起的地方呢?这本书是Android 性能方面的实战指南,不仅涵盖了基本的算法话题,还深入到了硬件和平台的工作方式,让你能够了解工具的异常显示是什么含义。这是一本能够帮助工程师转换视角的书。它不再只是关注视图和事件监听器,而是慢慢转换为理解内存边界和线程问题了。
凌晨4 点,你的App 运行状况不好,咖啡机也坏了,并且创业孵化器室里有股烂白菜的味道;为了确保上午10:00 同风险投资者的会议能够顺利进行,你应该看看这本书。祝你好运!
——Colt McAnlis,资深布道师,谷歌公司团队主管,Google 的Android 性能模式系列视频的讲师(https://goo.gl/4ZJkY1)
媒体评论
“这本书将使得任何Android开发者都能够构建高效、运行良好的App。”
——Brad Zeschuk,M2Catalyst公司工程副总裁
“本书是Android性能方面的权威实战指南,可以帮助工程师转换视角。书中不仅涵盖了基本的算法话题,还深入到了硬件和平台的工作方式,让你了解工具的异常显示是什么含义。”
——Brad Zeschuk,M2Catalyst公司工程副总裁
“本书是Android性能方面的权威实战指南,可以帮助工程师转换视角。书中不仅涵盖了基本的算法话题,还深入到了硬件和平台的工作方式,让你了解工具的异常显示是什么含义。”
——Colt McAnlis,资深布道师,Google公司团队主管
作者:chinapub_2009 发表于2016/10/14 11:51:47 原文链接
阅读:8 评论:0 查看评论