Android开发艺术探索.任玉刚(带详细书签).pdf

时间:2022-02-14 04:45:58
【文件属性】:
文件名称:Android开发艺术探索.任玉刚(带详细书签).pdf
文件大小:173.84MB
文件格式:PDF
更新时间:2022-02-14 04:45:58
Android 安卓 移动 APP 手机 本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。本书从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层开发过程,融会贯通,介绍一些比较深入的知识点;第三,介绍一些核心技术和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

网友评论