内容简介
bm003363
深入理解Android:卷III (移动开发)+Android开发艺术探索2本
9787111507369定价:89元 9787121269394定价:79元
Android开发艺术探索
- 出版社: 电子工业出版社; 第1版 (2015年9月1日)
- 其他: 524页
- ISBN: 9787121269394
作者简介
任玉刚,百度公司Android工程师,硕士毕业于中国科学技术大学,在CSDN发表多篇高质量的技术文章并广获好评,并多次在GitHub上提交开源项目,先后在腾讯、创新工场和百度从事Android开发,目前在百度公司参与百度手机卫士的开发工作。
目录
第1章 Activity的生命周期和启动模式 / 1
1.1 Activity的生命周期全面分析 / 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.1 View基础知识 / 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.1 View动画 / 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
深入理解Android:卷III (移动开发)
-
定价:¥89.00
作者: 张大伟
丛书名: 移动开发
出版社:机械工业出版社
ISBN:9787111507369
目录:
序
前 言
第1章 开发环境部署1
1.1获取Android源代码1
1.2Android的编译3
1.3在IDE中导入Android源代码4
1.3.1将Android源代码导入Eclipse4
1.3.2将Android源代码导入SourceInsight5
1.4调试Android源代码6
1.4.1使用Eclipse调试Android Java源代码6
1.4.2使用gdb调试Android C/C++源代码8
1.5本章小结9
第2章深入理解Java Binder和MessageQueue10
2.1概述11
2.2Java层中的Binder分析11
2.2.1Binder架构总览11
2.2.2初始化Java层Binder框架13
2.2.3窥一斑,可见全豹乎16
2.2.4理解AIDL25
2.2.5Java层Binder架构总结28
2.3心系两界的MessageQueue28
2.3.1MessageQueue的创建29
2.3.2提取消息29
2.3.3nativePollOnce函数分析32
2.3.4MessageQueue总结42
2.4本章小结44
第3章 深入理解AudioService45
3.1概述46
3.2音量管理47
3.2.1音量键的处理流程47
3.2.2通用的音量设置函数setStreamVolume()61
3.2.3静音控制63
3.2.4音量控制小结67
3.3音频外设的管理68
3.3.1 WiredAccessoryObserver 设备状态的监控68
3.3.2AudioService的外设状态管理73
3.3.3音频外设管理小结78
3.4AudioFocus机制的实现78
3.4.1AudioFocus·简单的例子79
3.4.2AudioFocus实现原理简介81
3.4.3申请AudioFocus82
3.4.4释放AudioFocus86
3.4.5AudioFocus小结87
。。。。。。
^_^:434ddb892d888a24bcc4942656042b70