《Android开发艺术探索》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:任玉刚著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121269394
  • 页数:507 页
图书介绍:本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发过程。本书从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层开发过程,融会贯通,介绍一些比较深入的知识点;第三,介绍一些核心技术和Android的性能优化思想。

第1章 Activity的生命周期和启动模式 1

1.1Activity的生命周期全面分析 1

1.1.1典型情况下的生命周期分析 2

1.1.2异常情况下的生命周期分析 8

1.2 Activity的启动模式 16

1.2.1 Activity的LaunchMode 16

1.2.2 Activity的Flags 27

1.3 IntentFilter的匹配规则 28

第2章 IPC机制 35

2.1 Android IPC简介 35

2.2 Android中的多进程模式 36

2.2.1开启多进程模式 36

2.2.2多进程模式的运行机制 39

2.3 IPC基础概念介绍 42

2.3.1 Serializable接口 42

2.3.2 Parcelable接口 45

2.3.3 Binder 47

2.4 Android中的IPC方式 61

2.4.1使用Bundle 61

2.4.2使用文件共享 62

2.4.3使用Messenger 65

2.4.4使用AIDL 71

2.4.5使用ContentProvider 91

2.4.6使用Socket 103

2.5 Binder连接池 112

2.6选用合适的IPC方式 121

第3章 View的事件体系 122

3.1View基础知识 122

3.1.1什么是View 123

3.1.2 View的位置参数 123

3.1.3 MotionEvent和TouchSlop 125

3.1.4 VelocityTracker、 GestureDetector和Scroller 126

3.2 View的滑动 129

3.2.1使用scrollTo/scrollBy 129

3.2.2使用动画 131

3.2.3改变布局参数 133

3.2.4各种滑动方式的对比 133

3.3弹性滑动 135

3.3.1使用Scroller 136

3.3.2通过动画 138

3.3.3使用延时策略 139

3.4 View的事件分发机制 140

3.4.1点击事件的传递规则 140

3.4.2事件分发的源码解析 144

3.5 View的滑动冲突 154

3.5.1常见的滑动冲突场景 155

3.5.2滑动冲突的处理规则 156

3.5.3滑动冲突的解决方式 157

第4章 View的工作原理 174

4.1初识ViewRoot和DecorView 174

4.2理解MeasureSpec 177

4.2.1 MeasureSpec 177

4.2.2 MeasureSpec和LayoutParams的对应关系 178

4.3 View的工作流程 183

4.3.1 measure过程 183

4.3.2 layout过程 193

4.3.3 draw过程 197

4.4自定义View 199

4.4.1自定义View的分类 200

4.4.2自定义View须知 201

4.4.3自定义View示例 202

4.4.4自定义View的思想 217

第5章 理解RemoteViews 218

5.1 RemoteViews的应用 218

5.1.1 RemoteViews在通知栏上的应用 219

5.1.2 RemoteViews在桌面小部件上的应用 221

5.1.3 PendingIntent概述 228

5.2 RemoteViews的内部机制 230

5.3 RemoteViews的意义 239

第6章Android的Drawable 243

6.1 Drawable简介 243

6.2 Drawable的分类 244

6.2.1 BitmapDrawable 244

6.2.2 ShapeDrawable 247

6.2.3 LayerDrawable 251

6.2.4 StateListDrawable 253

6.2.5 LevelListDrawable 255

6.2.6 TransitionDrawable 256

6.2.7 InsetDrawable 257

6.2.8 ScaleDrawable 258

6.2.9 ClipDrawable 260

6.3自定义Drawable 262

第7章 Android动画深入分析 265

7.1View动画 265

7.1.1 View动画的种类 265

7.1.2自定义View动画 270

7.1.3帧动画 272

7.2 View动画的特殊使用场景 273

7.2.1 LayoutAnimation 273

7.2.2 Activity的切换效果 275

7.3属性动画 276

7.3.1使用属性动画 276

7.3.2理解插值器和估值器 280

7.3.3属性动画的监听器 282

7.3.4对任意属性做动画 282

7.3.5属性动画的工作原理 288

7.4使用动画的注意事项 292

第8章 理解Window和WindowManager 294

8.1 Window和WindowManager 294

8.2 Window的内部机制 297

8.2.1 Window的添加过程 298

8.2.2 Window的删除过程 301

8.2.3 Window的更新过程 303

8.3 Window的创建过程 304

8.3.1 Activity的Window创建过程 304

8.3.2 Dialog的Window创建过程 308

8.3.3 Toast的Window创建过程 311

第9章 四大组件的工作过程 316

9.1四大组件的运行状态 316

9.2 Activity的工作过程 318

9.3 Service的工作过程 336

9.3.1 Service的启动过程 336

9.3.2 Service的绑定过程 344

9.4 BroadcastReceiver的工作过程 352

9.4.1广播的注册过程 353

9.4.2广播的发送和接收过程 356

9.5 ContentProvider的工作过程 362

第10章 Android的消息机制 372

10.1 Android的消息机制概述 373

10.2 Android的消息机制分析 375

10.2.1 ThreadLocal的工作原理 375

10.2.2消息队列的工作原理 380

10.2.3 Looper的工作原理 383

10.2.4 Handler的工作原理 385

10.3主线程的消息循环 389

第11章 Android的线程和线程池 391

11.1主线程和子线程 392

11.2 Android中的线程形态 392

11.2.1 AsyncTask 392

11.2.2 AsyncTask的工作原理 395

11.2.3 HandlerThread 402

11.2.4 IntentService 403

11.3 Android中的线程池 406

11.3.1 ThreadPoolExecutor 407

11.3.2线程池的分类 410

第12章 Bitmap的加载和Cache 413

12.1 Bitmap的高效加载 414

12.2 Android中的缓存策略 417

12.2.1 LruCache 418

12.2.2 DiskLruCache 419

12.2.3 ImageLoader的实现 424

12.3 ImageLoader的使用 441

12.3.1照片墙效果 441

12.3.2优化列表的卡顿现象 446

第13章 综合技术 448

13.1使用CrashHandler来获取应用的crash信息 449

13.2使用multidex来解决方法数越界 455

13.3 Android的动态加载技术 463

13.4反编译初步 469

13.4.1使用dex2jar和jd-gui反编译apk 470

13.4.2使用apktool对apk进行二次打包 470

第14章 JNI和NDK编程 473

14.1 JNI的开发流程 474

14.2 NDK的开发流程 478

14.3 JNI的数据类型和类型签名 484

14.4 JNI调用Java方法的流程 486

第15章 Android性能优化 489

15.1 Android的性能优化方法 490

15.1.1布局优化 490

15.1.2绘制优化 493

15.1.3内存泄露优化 493

15.1.4响应速度优化和ANR日志分析 496

15.1.5 ListView和Bitmap优化 501

15.1.6线程优化 501

15.1.7一些性能优化建议 501

15.2内存泄露分析之MAT工具 502

15.3提高程序的可维护性 506