欢迎光临本店     登录 注册   加入收藏
  •   
欢迎光临清华大学出版社第三事业部!

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

当前位置: 首页 > 科技 > 计算机与网络 > Android优化技术详解

浏览历史

Android优化技术详解

Android优化技术详解

prev next

  • 商品货号:2014050801
  • 商品重量:0克
    作者:陈德春编著
    出版社:北京:清华大学出版社
    图书书号/ISBN:9787302359333
    出版日期:2014年4月1日
    开本:16
    图书页数:423
    图书装订:平装
    图书规格:185mm×260mm
    版次:2014年4月第1版
    印张:27.5
    字数:660千字
  • 上架时间:2014-05-08
    商品点击数:2988
  • 定价:¥56.00元
    本店售价:¥56.00元
    注册用户:¥56.00元
    vip:¥53.20元
    黄金等级:¥50.40元
    用户评价: comment rank 5
  • 商品总价:
  • 购买数量:

内容简介:

商品附加资源

 

内 容 简 介
本书循序渐进而又详细地讲解了Android优化技术的基本知识。本书内容新颖、知识全面、讲解详细。全书分为12章,第1章讲解了Android系统的基础知识;第2章讲解了Android核心框架;第3章详细讲解了为什么要优化;第4章详细讲解了UI布局优化的基本知识;第5章详细讲解了Android内存系统的基本知识;第6章讲解了Android内存优化的基本知识;第7章讲解了代码优化的基本知识;第8章讲解了性能优化的基本知识;第9章讲解了系统优化的基本知识;第10章讲解了开发一个Android优化系统的基本知识;第11章和第12章是两个综合实例,分别讲解了在手机地图系统和Android足球游戏中使用优化技术的知识。书中的每个实例都遵循先提出制作思路及所包含知识点,在实例最后总结知识点,并让读者举一反三。
本书定位于Android的初、中级用户,既可作为初学者的参考书,也可作为有一定基础读者的提高书。

前  言
  
  
  进入21世纪以来,整个社会已经逐渐变得陌生了!生活和工作的快节奏令我们目不暇接,各种各样的信息充斥着我们的视野、撞击着我们的思维。追忆过去,Windows操作系统的诞生成就了微软的霸主地位,也造就了PC时代的繁荣。然而,以Android和iPhone手机为代表的智能移动设备的发明却敲响了PC时代的警钟!移动互联网时代已经来临,谁会成为这些移动设备上的主宰?毫无疑问,这就是Android——PC时代的Windows!
看3G的璀璨绚丽
  随着3G的到来,无线带宽越来越高,使得在手机上布置更多内容丰富的应用程序成为可能,如视频通话、视频点播、移动互联网冲浪、在线看书/听歌、内容分享等。为了承载这些数据应用及快速部署,手机功能将会越来越智能,越来越开放。为了实现这些需求,必须有一个好的开发平台来支持,由Google公司发起的OHA联盟走在了业界的前列,2007年11月推出了开放的Android平台,任何公司及个人都可以免费获取到源代码及开源SDK。由于其开放性和优异性,Android平台得到了业界广泛的支持,其中包括各大手机厂商和著名的移动运营商等。继2008年9月第一款基于Android平台的手机G1 发布之后,预计三星、摩托罗拉、索爱、LG、华为等公司都将推出自Gflg~Android平台的手机,中国移动也将联合各手机厂商共同推出基于 Android平台的OPhone。按目前的发展态势,我们有理由相信,Android平台能够在短时间内跻身智能手机开发平台的前列。
  自从2009年3G牌照在国内发放后,3G、Android、iPhone、Google、苹果、手机软件、移动开发等词越来越充斥于耳。随着3G网络的大规模建设和智能手机的迅速普及,移动互联网时代已经微笑着迎面而来。
  以创新的搜索引擎技术而一跃成为互联网巨头的Google,无线搜索成为它进军移动互联网的一块基石。早在2007年,Google中国就把无线搜索当作战略重心,不断推出新产品,尝试通过户外媒体推广移动搜索产品,并积极与运营商、终端厂商、浏览器厂商等达成战略合作。
  Android操作系统是Google最具杀伤力的武器之一。苹果以其天才的创新,使得iPhone在全球迅速拥有了数百万忠实“粉丝”,而Android作为第一个完整、开放、免费的手机平台,使开发者在为其开发程序时拥有更大的自由。与 Windows Mobile、Symbian等厂商不同的是,Android操作系统免费提供给开发人员,这样可节省近三成成本,因此得到了众多厂商与开发者的拥护。自从进入2011年后,Android就一直是市场占有率最高的智能手机系统。并且Android的成功也造就了使用Android系统的手机制造商,现在三星借助Android操作系统,已经成为世界上发货量最大的手机制造商。
巨大的优势
  从技术角度而言,Android与iPhone相似,都采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查收电子邮件、搜索网址和观看视频节目等。Android手机比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入了全部Web应用的平台。Android的版本包括:Android 1.1、Android 1.5、Android 1.6、Android 2.0等,当前的最新版本是Android 4.2。随着版本的更新,从最初的触屏到现在的多点触摸,从普通的联系人到现在的数据同步,从简单的GoogleMap到现在的导航系统,从基本的网页浏览到现在的HTML 5,这都说明Android已经逐渐稳定,而且功能越来越强大。此外,Android平台不仅支持 Java、C、C++等主流的编程语言,还支持Ruby、Python等脚本语言,甚至Google还专为Android的应用开发推出了Simple语言,这使得Android有着非常广泛的开发群体。
优化的目的是提高用户体验
  我们做任何一款产品,目标用户群体永远是消费者,而用户体验往往决定了一款产品的畅销程度。作为智能手机来说,因为其自身硬件远不及PC,所以这就要求我们需要为消费者提供拥有更好用户体验的产品,只有这样我们的产品才会受追捧。
  用户体验的英文是User Experience,简称UE。它是一种纯主观的在用户使用产品过程中建立起来的感受。但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经良好设计实验认识到。新竞争力在网络营销基础与实践中曾提到计算机技术和互联网的发展,使技术创新形态正在发生转变,以用户为中心、以人为本越来越得到重视,用户体验也因此被称作创新2.0模式的精髓。在中国面向知识社会的创新2.0——应用创新园区模式探索,更将用户体验作为“三验”创新机制之首。
本书的内容
  本书循序渐进地、详细地讲解了Android优化技术的基本知识,内容新颖、知识全面、讲解详细。Android优化技术博大精深,需要程序员具备极高的水准和开发经验。笔者从事Android开发也是短短数载,也不可能完全掌握Android优化技术。本书将尽可能地将Android优化技术的核心内容展现给读者,书中主要提供了以下优化内容。
  (1) UI布局优化
  讲解了优化UI界面布局的基本知识以及各种布局的技巧,剖析了减少层次结构、延迟加载和嵌套优化等方面的知识。
  (2) 内存优化
  详细讲解了Android系统内存的基本知识,分析了Android独有的垃圾回收机制,并分别剖析了缩放处理、数据保存、使用与释放、内存泄漏和内存溢出等方面的知识。
  (3) 代码优化
  讲解了在编码过程中,优化代码提高运行效率的基本知识。
  (4) 性能优化
  讲解了资源存储、加载DEX文件和APK、虚拟机的性能、平台优化、优化渲染机制等方面的知识。
  (5) 系统优化
  详细讲解了进程管理器、设置界面、后台停止、转移内存程序和优化缓存等方面的知识。
  (6) 优化工具
  详细讲解了市面上常见的优化工具,例如优化大师、进程管理等。
科学的学习方法
  不要认为学习Android技术是一件很困难的事情,不断寻找规律,学习新知识和新技能,积累经验,这几乎是每一个电脑高手必经的成长之路。中国有句古话“授人以鱼,不如授人以渔”,说的是传授给人既有知识,不如传授给人学习知识的方法。通过本书,我们将告诉读者学习的方法,并介绍一条比较清晰的学习之路。
1. 积极的心态
  无论是知识还是技能,智者之所以能够更好、更快地掌握知识和技能,很大程度上得益于良好的学习方法。人们常说:兴趣是最好的老师,压力是前进的动力,要想获得一个积极的心态,最好能对学习对象保持浓厚的兴趣。如果暂时提不起兴趣,那么就重视来自工作或生活的压力,把它们转化为学习的动力。
2. 注重实践
  读者在学习本书的过程中,建议学完理论后,进行实际操作。首先学习书中的理论,再动手调试本书中的实例,然后用模拟器运行书中的例子,只有这样才能做到印象深刻,才能真正理解Android优化技术的基本知识。这样在实际应用中遇到其他类似问题时,才能做到熟能生巧、触类旁通。
3. 善用资源,学以致用
  对于计算机优化技术,除了少部分专业人士外,大部分人学习的目的是为了应用,通过优化技术解决工作中的问题并提高工作效率。“解决问题”常常是促使人学习的一大动机,带着问题学习,不但进步快,而且很容易对优化技术产生更大的兴趣,从而获得持续的进步。
  (1) 善用资源
  在学习过程中,难免会遇到自己不理解的知识,此时可以找一些相关的书籍来阅读,不断尝试解决问题。或者通过互联网的搜索引擎找到问题的解决办法,善用搜索引擎,基本上可以找到大多数问题所在!
  (2)??QQ群
  如果在互联网上找不到问题的解决办法,可以通过QQ访问相关学习群,群中的高手们会对你提出的问题进行回答。
  (3) 向优化技术高手学习
  在练习实际操作能力时,可以虚心向优化技术领域的高手学习。如果读者闭门造车,盲人摸象,则很难掌握技术精髓。而经过身边的优化技术高手指点,可以轻松掌握相关的技能。
本书特色
  本书内容相当丰富,覆盖面全,涉及了Android优化技术人员成长道路上的方方面面。我们的目标是通过一本图书,提供多本图书的价值,读者可以根据自己的需要有选择地阅读,以完善本人的知识和技能。在内容的编写上,本书具有以下特色。
  (1) 结构合理
  从用户的实际需要出发,科学安排知识结构,内容由浅入深,叙述清楚,并附有相应的总结和练习,具有很强的知识性和实用性,反映了当前Android优化技术的发展和应用水平。同时全书精心筛选的最具代表性、读者最关心的知识点,几乎包括了Android优化技术的所有方面。
  (2) 易学易懂
  本书条理清晰、语言简洁,可帮助读者快速掌握每个知识点;每个部分既相互连贯又自成体系,使读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行针对性的学习。
  (3) 实用性强
  本书彻底摒弃枯燥的理论和简单的操作,注重实用性和可操作性,将Android优化技术的理论融合到实际的操作环境中,使用户掌握相关操作技能的同时,还能学习到相应的开发知识。
本书的读者对象
  本书在内容安排上由浅入深,写作上层层剥洋葱式的分解,充分实例举证,非常适合Android开发技术的初学者,同时也适合具有一定Android开发基础,想对Android开发技术进一步了解和掌握的中级用户。如果你是以下类型的读者,本书会带领你迅速进入Android开发领域。
* 有一定Android开发经验的读者。
* 从事Android开发的研究人员和工作人员。
* 有一定的Android基础,想快速学会Android高级技术的读者。
* 有一定Android开发基础,需要加深对Android技术核心进一步了解和掌握的程序员。
* 高等院校相关专业的学生,或需要编写论文的学生。
* 企业和公司在职人员、需要提高学习或工作需要的程序员。
* 从事Android移动网络开发等相关工作的技术人员。
  本书由陈德春编著,其他参与本书编写的人员还有:王石磊、周秀、付松柏、邓才兵、钟世礼、谭贞军、王东华、罗红仙、王振丽、熊斌。由于本人水平有限,纰漏和不尽如人意之处在所难免,诚请读者提出宝贵意见或建议,以便修订并使之更臻完善。售后QQ:729017304。
  本书部分源代码网络下载路径:http://www.tup.tsinghua.edu.cn/book/Showbook.asp?CPBH=048047-01&DJ=56
  
  
  编  者 

     目  录
  

第1章  Android系统闪亮登场 1
1.1  一款全新的智能手机平台——
Android 2
1.1.1  何谓智能手机 2
1.1.2  看当前主流的智能手机系统 2
1.2  分析Android的优势 4
1.2.1  第一个优势——出自名门 4
1.2.2  第二个优势——强大的开发
团队 4
1.2.3  第三个优势——奖金丰厚 5
1.2.4  第四个优势——代码开源 5
1.3  搭建开发环境 5
1.3.1  安装Android SDK的系统
要求 5
1.3.2  安装JDK、Eclipse、Android
SDK 6
1.3.3  设定Android SDK Home 18
1.4  创建Android虚拟设备(AVD) 19
1.4.1  Android模拟器简介 19
1.4.2  模拟器和真机的区别 20
1.4.3  创建Android虚拟设备 20
1.4.4  启动模拟器 22
1.4.5  快速安装SDK 22
1.5  解决搭建环境过程中的三个问题 23
1.5.1  不能在线更新 23
1.5.2  一直显示Project name must
be specified提示 25
1.5.3  Target列表中没有Target
选项 26
第2章  分析Android核心框架 29
2.1  简析Android安装文件 30
2.1.1  Android SDK目录结构 30
2.1.2  android.jar及其内部结构 31
2.1.3  SDK帮助文档 32
2.1.4  Android SDK实例简介 34
2.2  Android的系统架构详解 34
2.2.1  Android体系结构介绍 34
2.2.2  Android工程文件结构 37
2.2.3  应用程序的生命周期 40
2.3  简析Android内核 43
2.3.1  Android继承于Linux 43
2.3.2  Android内核和Linux内核的
区别 43
2.4  简析Android源码 45
2.4.1  获取并编译Android源码 45
2.4.2  Android对Linux的改造 47
2.4.3  为Android构建Linux的
操作系统 48
第3章  为什么需要优化 49
3.1  用户体验是产品成功的关键 50
3.1.1  什么是用户体验 50
3.1.2  影响用户体验的因素 51
3.1.3  用户体验设计目标 51
3.2  Android的用户体验 52
3.3  不同的厂商,不同的硬件 56
3.4  Android优化概述 56
第4章  UI布局优化 59
4.1  和布局相关的组件 60
4.1.1  View视图组件 60
4.1.2  Viewgroup容器 60
4.2  Android中的5种布局方式 61
4.2.1  线性布局LinearLayout 61
4.2.2  框架布局FrameLayout 64
4.2.3  绝对布局AbsoluteLayout 65
4.2.4  相对布局RelativeLayout 65
4.2.5  表格布局TableLayout 67
4.3  <merge/>标签在UI界面中的优化
作用 70
4.4  遵循Android Layout优化的两段
通用代码 73
4.5  优化Bitmap图片 74
4.5.1  实例说明 74
4.5.2  具体实现 74
4.6  FrameLayout布局优化 76
4.6.1  使用<merge>减少视图层级
结构 79
4.6.2  使用<include>重用Layout
代码 79
4.6.3  延迟加载 82
4.7  使用Android为我们提供的优化
工具 82
4.7.1  Layout Optimization工具 82
4.7.2  Hierarchy Viewer工具 86
4.7.3  联合使用<merge/>和<include/>
标签实现互补 89
4.8  总结Android UI布局优化的原则
和方法 93
第5章  Android的内存系统 95
5.1  内存和进程的关系 96
5.1.1  进程管理工具的纷争 96
5.1.2  程序员的任务 96
5.1.3  Android系统内存设计 97
5.2  分析Android的进程通信机制 98
5.2.1  Android的进程间通信(IPC)
机制Binder 98
5.2.2  Service Manager是Binder
机制的上下文管理者 100
5.2.3  分析Server和Client获得Service
Manager的过程 118
5.3  分析Android系统匿名共享内存C++
调用接口 122
5.3.1  Java程序 125
5.3.2  相关程序 134
5.4  Android中的垃圾回收 137
5.4.1  sp和wp简析 137
5.4.2  详解智能指针(android refbase
类(sp和wp)) 139
第6章  Android内存优化 143
6.1  Android内存优化的作用 144
6.2  查看Android内存和CPU使用
情况 145
6.2.1  利用Android API函数
查看 145
6.2.2  直接对Android文件进行
解析查询 145
6.2.3  通过Runtime类实现 146
6.2.4  使用DDMS工具获取 147
6.2.5  其他方法 152
6.3  Android的内存泄漏 155
6.3.1  什么是内存泄漏 155
6.3.2  为什么会发生内存泄漏 156
6.3.3  shallow size、retained size 158
6.3.4  查看Android内存泄漏的
工具 159
6.3.5  查看Android内存泄漏的
方法 162
6.3.6  Android(Java)中常见的容易
引起内存泄漏的不良代码 164
6.4  常见的引起内存泄漏的坏毛病 165
6.4.1  查询数据库时忘记关闭
游标 165
6.4.2  构造Adapter时不习惯使用
缓存的convertView 166
6.4.3  没有及时释放对象的引用 167
6.4.4  不在使用Bitmap对象时
调用recycle()释放内存 168
6.5  演练解决内存泄漏 168
6.5.1  使用MAT根据heap dump分析
Java代码内存泄漏的根源 168
6.5.2  演练Android中内存泄漏代码
优化及检测 176
6.6  Android图片的内存优化 178
第7章  代码优化 181
7.1  Android代码优化的基本原则 182
7.2  优化Java代码 182
7.2.1  GC对象优化 182
7.2.2  尽量使用StringBuilder和
StringBuffer进行字符串
连接 186
7.2.3  及时释放不用的对象 189
7.3  编写更高效的Android代码 189
7.3.1  避免建立对象 190
7.3.2  优化方法调用代码 192
7.3.3  优化代码变量 193
7.3.4  优化代码过程 196
7.3.5  提高Cursor查询数据的
性能 199
7.3.6  编码中尽量使用ContentProvider
共享数据 200
7.4  Android控件的性能优化 204
7.4.1  ListView控件的代码优化 204
7.4.2  Adapter(适配器)优化 209
7.4.3  ListView异步加载图片
优化 212
7.5  优化Android图形 216
7.5.1  2D绘图的基本优化 216
7.5.2  触发屏幕图形触摸器的
优化 217
7.5.3  SurfaceView 绘图覆盖刷新
及脏矩形刷新方法 217
第8章  性能优化 223
8.1  资源存储优化 224
8.1.1  Android文件存储 224
8.1.2  Android中的资源存储 226
8.1.3  Android资源的类型和命名 228
8.1.4  Android文件资源(raw/data/asset)
的存取 229
8.1.5  Android对Drawable对象的
优化 230
8.1.6  建议使用Drawable,而不是
Bitmap 232
8.2  加载APK文件和DEX文件 236
8.2.1  APK文件介绍 237
8.2.2  DEX文件介绍和优化 238
8.2.3  Android类动态加载技术实现
加密优化 239
8.3  SD卡优化 242
8.4  Android的虚拟机优化 244
8.4.1  Android虚拟机概述 244
8.4.2  平台优化——ARM的流水线
技术 246
8.4.3  Android对C库优化 250
8.4.4  创建进程的优化 253
8.4.5  渲染优化 253
8.5  SQLite优化 257
8.5.1  Android SQLite的查询
优化 257
8.5.2  SQLite性能优化技巧 263
8.6  Android的图片缓存处理和性能
优化 263
第9章  系统优化 267
9.1  基本系统优化 268
9.1.1  刷机重启 268
9.1.2  刷内核 268
9.1.3  精简内置应用 269
9.1.4  基本系统优化总结 270
9.2  进程管理 271
9.2.1  Android进程跟Windows进程
是两回事 271
9.2.2  查看当前系统中正在运行的
程序 271
9.2.3  枚举Android系统的进程、
任务和服务的信息 275
9.2.4  研究Android进程管理器的
实现 281
9.3  将Android软件从手机内存转移到
存储卡 286
9.3.1  第一步:准备工作 286
9.3.2  第二步:存储卡分区 289
9.3.3  第三步:将软件移动到
SD卡 289
9.4  常用的系统优化工具 291
9.4.1  优化大师 291
9.4.2  360优化大师 292
第10章  开发一个Android优化
         系统 295
10.1  优化大师介绍 296
10.1.1  手机优化大师客户端 296
10.1.2  手机优化大师PC端 296
10.2  项目介绍 297
10.2.1  规划UI界面 298
10.2.2  预期效果 299
10.3  准备工作 299
10.3.1  新建工程 299
10.3.2  主界面 300
10.4  编写主界面程序 306
10.5  进程管理模式模块 308
10.5.1  基础状态文件 309
10.5.2  CPU和内存使用信息 310
10.5.3  进程详情 310
10.6  进程视图模块 316
10.6.1  进程主视图 316
10.6.2  进程视图 317
10.6.3  获取进程信息 317
10.7  进程类别模块 319
10.7.1  加载进程 319
10.7.2  后台加载设置 323
10.7.3  加载显示 323
10.8  文件管理模式模块 324
10.8.1  文件分类 324
10.8.2  加载进程 324
10.8.3  文件视图处理 328
10.9  文件管理模块 329
10.9.1  文件夹 330
10.9.2  显示文件信息 330
10.9.3  操作文件 332
10.9.4  获取进程的CPU和内存
 信息 332
10.10  系统测试 336
第11章  综合实例——手机地图
         系统 339
11.1  项目分析 340
11.1.1  规划UI界面 340
11.1.2  数据存储设计和优化 341
11.2  具体实现 342
11.2.1  新建工程 342
11.2.2  主界面 343
11.2.3  新建界面 346
11.2.4  设置界面 349
11.2.5  帮助界面 354
11.2.6  地图界面 356
11.2.7  数据存取 367
11.2.8  实现Service服务 372
11.3  发布自己的作品来盈利 374
11.3.1  申请会员 374
11.3.2  生成签名文件 377
11.3.3  使用签名文件 383
11.3.4  发布 386
第12章  综合实例——Android足球
         游戏 387
12.1  手机游戏产业的发展 388
12.1.1  1.2亿手机游戏用户 388
12.1.2  淘金的时代 388
12.1.3  手机游戏的未来发展 389
12.2  Java游戏开发基础 389
12.3  足球游戏介绍 391
12.3.1  手机足球游戏 391
12.3.2  策划游戏 392
12.3.3  准备工作 392
12.4  项目架构 393
12.4.1  总体架构 393
12.4.2  规划类 394
12.5  Android手机游戏的优化策略 394
12.6  具体编码 395
12.6.1  Activity类开发 395
12.6.2  欢迎界面 400
12.6.3  加载节目 408
12.6.4  运动控制 409
12.6.5  奖品模块 419
  

商品标签

购买记录(近期成交数量0)

还没有人购买过此商品
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页

用户评论(共0条评论)

  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha