微信扫码下载

内容简介

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

目录

第1章引言:为什么需要高性能?
为什么应用程序的性能意味着这么多?
手动测试和自动测试
ANR和软件中的延迟
什么会触发ANR,我该如何避免它们?
Android架构
Dalvik虚拟机
内存管理
电量消耗
Java语言
NDK/在需要时进行原生开发
程序响应相关的3个临界值
软件质量的商业价值
总结

第2章高效调试
ADB
DDMS
采集和分析线程信息
堆分析和可视化
AllocationTracker
网络使用
EmulatorControl
系统状态
调试UI
使用HierarchyViewer
Systrace
Android设备调试选项
Android即时运行
GPU分析器
使用GPU分析器进行调试
ClassyShark
开始使用
总结

第3章打造布局
预览
渲染性能
屏幕撕裂和垂直同步
多窗口模式
最佳实践
布局概述
布局层次管理
布局复用
ViewStub
AdapterView和视图回收
自定义视图和布局
……

第4章内存
第5章多线程
第6章网络
第7章安全
第8章优化电量消耗
第9章Android中的原生代码
第10章性能提示

前言/序言

序言

应用程序在移动世界中能否成功,性能是其中一个关键的因素。如果一个应用程序运行缓慢,用户可能会放弃继续使用它。学习如何创建一个应用程序,让程序在速度、性能,以及功能交互之间达到平衡,将会是一个挑战。做到这点比以往任何时候都更重要。

《Android高性能编程》将让你学习到如何让程序能够运行到尽可能多的硬件设备上,使得应用程序覆盖更多用户。这《Android高性能编程》首先简要地介绍了Android开发中一些最先进的技术,以及性能对Android应用程序的重要性。接着,介绍了使用AndroidSDK工具,对Android应用程序进行调试和分析的常规做法。《Android高性能编程》将讨论一些先进的主题,例如,打造布局、多线程、网络以及安全。电池电量是应用程序的最大瓶颈之一,《Android高性能编程》将通过典型的代码,阐释如何减少电量消耗,以及在不同情形下如何测量电量的消耗。

Android高性能编程》探讨的技术,是为打造一个优化高效的系统。这是一个不会消耗大量电量,或引起内存泄露,随着时间的推移,运行越来越慢的系统。

这《Android高性能编程》涵盖了什么

第1章,引言:为什么需要高性能?对主题进行概要介绍,简要分析了Android平台的现状,以及高性能对Android应用程序的重要性。

第2章,高效调试。涵盖了调试和分析Android应用程序常用的一些工具,不仅限于AndroidSDK所提供的,还包括一些第三方的。

第3章,打造布局。展示优化Android程序的相关技术,编写内存高效的应用程序,并介绍内存分配以及垃圾回收的相关概念。

第4章,内存。提供了许多UI设计方面的见解,通过学习这些内容,打造加载迅速,更新高效,不会令用户察觉到延迟的UI界面。

第5章,多线程。介绍了Android应用程序中可供使用的各种线程,以及它们特定的使用场景。一些先进的技术,例如IPC,将会通过代码示例来展示。

第6章,网络。介绍了高效操作网络的相关技术,以及从服务端获取数据的一些技术,例如指数退避算法或避免轮询。

第7章,安全。涵盖了确保Android应用程序安全的相关技术,如何利用Android自带的安全加密机制,以及如何获取关于连接的信息,或者只是在连接变化的时候得到通知。

第8章,优化电量消耗。通过典型的代码,演示如何耗尽电池的电量,如何阻止它,以及在各种情形下如何权衡电量的消耗;许多开发者不知道,开发一个拍照或录制视频的应用程序时,任何处理预览以及保存数据。

第9章,Android中的原生代码。这一章节将全部用于介绍Android中的原生代码和C++以及它们的用法。

第10章,性能提示。帮助开发者在平时的开发中,避开影响效率的方案;这是前面章节中未涉及的一个最佳实践指南。

你需要准备什么?

你需要准备以下硬件设备。

?运行环境为Windows、Linux,或者MacOSX的PC/笔记本电脑。

?Android手机。最好是高端一点的,并且系统版本高于Android5.0。

这《Android高性能编程》为谁而写?

这《Android高性能编程》是为那些已经拥有丰富Android知识,想要进一步巩固和学习技术,来提高应用程序性能的开发者而写的。我假设他们已经熟悉整个AndroidSDK,且为此工作了多年。他们也熟悉Android框架,比如,能使用NDK编写原生代码,NDK对性能来说至关重要。

约定

Android高性能编程》会涉及几种不同的文本样式,分别代表不同类型的信息。下面展示了其中一些样式及它们代表的意思。

代码文本、数据库表名、文件名、文件扩展名、路径、URLs、用户输入,以及推特账号名的文本样式如下。

“Ifyougotothisfolderandcallthecommandadb,youwillseeonthescreenalistofavailableoptions.”

代码块的格式如下。

<resources>

<stylename=”Theme.NoBackground”parent=”android:Theme”>

<itemname=”android:windowBackground”>@null</item>

</style>

</resources>

任何命令行输入输出的格式如下。

adbshelldumbsysgfxinfo<PACKAGE_NAME>

新条款以及重要的词会以黑体展示。屏幕上显示的单词,例如菜单或者对话框内出现的文本格式类似这样:“Todebugtheoverdrawonthedevice,AndroidprovidesahelpfultoolthatcanbeenabledinsidetheDeveloperoptions.”

警告或重要提示或出现这样一个框框中。

提示及小技巧会以这样的形式出现。

读者反馈

欢迎读者反馈。你对这《Android高性能编程》的看法——喜欢或者不喜欢。读者的反馈对我们来说非常重要,它能最大程度地帮助我们写出读者需要的内容。

发送邮件到feedback@packtpub.com,并在邮件的标题中附上书名,即可给我们反馈。

如果你对某个主题有丰富的经验并且有兴趣写作或者参与对某《Android高性能编程》的编写,可以查看我们的作者引导页面www.packtpub.com/authors。

客服支持

很高兴您成为Packt系列丛书的拥有者,为此,我们会为您提供一系列服务。

下载示例代码

可以到http://www.packtpub.com登录账户,下载《Android高性能编程》的示例代码文件。如果你从别处购买《Android高性能编程》,可以访问http://www.packtpub.com/support并注册,我们会通过邮件直接将文件发送给你。

你可以通过下列步骤下载代码文件。

1.到我们的网站登录或注册。

2.点击网站顶部的SUPPORTtab页面。

3.点击CodeDownloads&Errata。

4.在搜索框中输入书本的名字。

5.选中你要下载代码的对应的图书。

6.在下拉菜单中选择图书的购买地。

7.点击CodeDownload。

可以在Packt出版社网站对应的书本页面,点击CodeFiles按钮来下载《Android高性能编程》的代码文件。书本页面可以通过搜索框中输入书本名进入。注意,前提是你需要登录你的Packt账户。

文件下载好后,请确使用的解压工具是最新版本。

?Windows使用WinRAR/7-Zip

?Mac使用Zipeg/iZip

?Linux使用7-Zip/PeaZip

这《Android高性能编程》的代码也存放在GitHub上https://github.com/PacktPublishing/Android-High-Performance-Programming。

同时,我们也有其他丰富的代码、书本目录、视频等可以提供给你。

https://github.com/PacktPublishing/。

欢迎下载它们!

下载《Android高性能编程》的彩图

我们也为你提供了《Android高性能编程》所用到的截屏和图表。这些彩图更利于你理解和区别代码结果的变化。你可以在以下网址中下载这些文件

http://www.packtpub.com/sites/default/files/downloads/AndroidHighPerformanceProgramming_ColorImages.pdf。

勘误

尽管我们已经非常仔细,以确保书本内容的准确性,但是错误难免还是会发生。如果你在书中遇到一个错误(可能是一个文本错误或者代码错误),如果你能报告给我们,我们不甚感激。这样做能够减少对其他读者的困扰并能帮助我们在后续版本中改进这些问题。如果你遇到任何错误,请访问http://www.packtpub.com/submit-errata,选择你要报告的图书中,点击ErrataSubmissionForm链接,输入你所遇到错误的详细信息,发送给我们。一旦错误被确认,你所提交的内容会被接受,并且更新到我们网站中,或者添加到要报告的图书中已有的相应章节下的勘误表中。

通过访问https://www.packtpub.com/books/content/support并输入图书名进行搜索,可以查看之前已经提交的勘误。相关的信息将会出现在Errata部分中。

版权保护

对互联网上所有的媒体资源来说,版权保护一直以来都是一个问题。Packt出版社十分重视对版权和许可证的保护。如果你在互联网上遇到以任何形式非法盗版我们内容的情况,请立刻为我们提供地址或网站名,以便我们及时补救。

请将涉嫌盗版的材料的链接地址发送到copyright@packtpub.com。

非常感谢您对维护我们作者的权益、打击盗版,并使得我们能为用户带来更好的内容所给予的帮助。

问题

如果有任何关于这《Android高性能编程》的问题,可以通过questions@packtpub.com联系我们,我们将会尽可能为你解答。


其他推荐