App研发录:架构设计、Crash分析和竞品技术分析 计算机与互|4880156pdf下载

App研发录:架构设计、Crash分析和竞品技术分析 计算机与互|4880156百度网盘pdf下载

作者:
简介:App研发录:架构设计、Crash分析和竞品技术分析 计算机与互|4880156
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

 书[0名0]:  App研发录:架构设计、Crash分析和竞[0品0]技术分析[图书]|4880156
 图书定价:  59元
 图书作者:  包建强
 出版社:  [1机1]械工业出版社
 出版日期:  2015/10/1 0:00:00
 ISBN号:  9787111516385
 开本:  16开
 页数:  303
 版次:  1-1
 作者简介
包建强,毕业于复旦[0大0][0学0]数[0学0]系。先后在多家互联网公司担任无线部门技术总监,在Android、iOS、WP等多门无线技术中跋涉过 ,在App的项目管理上也有多年的实践[纟巠]验。他是微软2008年MVP,并有一个坚持写了6年的技术博客。
 内容简介
本书是作者多年App开发的[纟巠]验总结,重点介绍Android应用开发中常见的实用技巧和疑难问题解决方[0法0],为打造高质量App[扌是]供了有价值的实践指导,可帮助读者迅速[扌是]升应用开发能力和解决疑难问题的能力。本书涉及的[1主1]题有:Android项目的重构、网络底层框架设计、[纟巠]典场景设计、命[0名0]规范和编程规范、Crash的捕获与分析、持续集成、代码混淆、App竞[0品0]技术分析、移动项目管理和团队建设等。本书内容丰富,文风幽默,不仅给出疑难问题的解决方案,而且结合示例代码深入剖析这些问题的实质和编程技巧,旨在帮助移动开发人员和管理人员[扌是]高编程效率,改进代码质量,打造高质量的App。
 目录

序一
序二
序三
前言
[0第0]一部分 高效App框架设计与重构
[0第0]1章 重构,夜未眠 3
1.1 重[亲斤]规划Android项目结构 3
1.2 为Activity定义[亲斤]的生命周期 5
1.3 统一事[亻牛]编程模型 7
1.4 实体化编程 9
1.4.1 在网络请求中使用实体 9
1.4.2 实体生成器 11
1.4.3 在页[mian]跳转中使用实体 12
1.5 Adapter模板 14
1.6 类型安全转换函数 16
1.7 本章小结 17
[0第0]2章 Android网络底层框架设计 19
2.1 网络低层封装 19
2.1.1 网络请求的格式 19
2.1.2 AsyncTask的使用和缺点 21
2.1.3 使用原生的ThreadPoolExecutor + Runnable + Handler 24
2.1.4 网络底层的一些[0优0]化工作 28
2.2 App数据缓存设计 32
2.2.1 数据缓存策略 32
2.2.2 强制更[亲斤] 35
2.3 MockService 36
2.4 用户登录 38
2.4.1 登录成功后的各种场景 39
2.4.2 自动登录 41
2.4.3 Cookie过期的统一处理 44
2.4.4 防止黑客刷库 45
2.5 HTTP头中的奥妙 46
2.5.1 HTTP请求 46
2.5.2 时间校准 48
2.5.3 开启gzip压缩 51
2.6 本章小结 52
[0第0]3章 Android[纟巠]典场景设计 53
3.1 App图片缓存设计 53
3.1.1 ImageLoader设计原理 53
3.1.2 ImageLoader的使用 54
3.1.3 ImageLoader[0优0]化 55
3.1.4 图片加载利器Fresco 56
3.2 对网络流量进行[0优0]化 58
3.2.1 通信层[mian]的[0优0]化 58
3.2.2 图片策略[0优0]化 59
3.3 城市列表的设计 61
3.3.1 城市列表数据 61
3.3.2 城市列表数据的增量更[亲斤][1机1]制 63
3.4 App与HTML5的交互 64
3.4.1 App[*]作HTML5页[mian]的方[0法0] 64
3.4.2 HTML5页[mian][*]作App页[mian]的方[0法0] 65
3.4.3 App和HTML5之间定义跳转协议 66
3.4.4 在App中内置HTML5页[mian] 67
3.4.5 灵活切换Native和HTML5页[mian]的策略 68
3.4.6 页[mian]分发器 68
3.5 消灭全局变量 70
3.5.1 问题的发现 70
3.5.2 把数据作为Intent的参数传递 71
3.5.3 把全局变量序列化到本地 71
3.5.4 序列化的缺点 75
3.5.5 如果Activity也被销毁了呢 79
3.5.6 如何看待SharedPreferences 80
3.5.7 User是[*]例外的全局变量 80
3.6 本章小结 81
[0第0]4章 Android命[0名0]规范和编码规范 83
4.1 Android命[0名0]规范 83
4.2 Android编码规范 86
4.3 统一代码格式 89
4.4 本章小结 90
[0第0]二部分 App开发中的高级技巧
[0第0]5章 Crash异常收集与统计 93
5.1 异常收集 93
5.2 异常收集与统计 96
5.2.1 人工统计线上Crash数据 96
5.2.2 [0第0]一个线上Crash报表:Crash分类 97
5.2.3 [0第0]二个线上Crash报表:Crash去重 99
5.2.4 线上Crash的其他分析工作 104
5.3 本章小结 105
[0第0]6章 Crash异常分析 107
6.1 Java语[0法0]相关的异常 108
6.1.1 空指针 108
6.1.2 角标越界 109
6.1.3 试图调用一个空对象的方[0法0] 110
6.1.4 类型转换异常 110
6.1.5 数字转换错误 111
6.1.6 声明数组时长度为-1 111
6.1.7 遍历集合同时删除其中元素 112
6.1.8 比较器使用不[0当0] 114
6.1.9 [0当0]除数为0 115
6.1.10 不能随便使用的asList 116
6.1.11 又有类找不到了(一):Class[0No0]tFoundException 116
6.1.12 又有类找不到了(二):[0No0]ClassDefFoundError 117
6.2 Activity相关的异常 117
6.2.1 找不到Activity 117
6.2.2 不能实例化Activity 118
6.2.3 找不到Service 118
6.2.4 不能启动BroadcastReceiver 119
6.2.5 startActivityForResult不能回传 119
6.2.6 猴急的Fragment 120
6.3 序列化相关的异常 120
6.3.1 实体对象不支持序列化 121
6.3.2 序列化时未指定ClassLoader 121
6.3.3 反序列化时发现类找不到:被ProGuard混淆导致的崩溃 122
6.3.4 反序列化时发现类找不到:传入畸形数据 123
6.3.5 反序列化时出错 123
6.4 列表相关的异常 123
6.4.1 Adapter数据源变化但是没通[0知0]ListView 124
6.4.2 ListView滚动时点[1击1]刷[亲斤]按钮后崩溃 125
6.4.3 AbsListView的obtainView返回空指针 125
6.4.4 Adapter数据源变化但是没调用[0no0]tifyDataSetChanged 126
6.5 窗体相关的异常 126
6.5.1 窗口句柄泄露 126
6.5.2 View [0no0]t attached to window manager 128
6.5.3 窗体在不恰[0当0]的时候获取了焦点 129
6.5.4 token null is [0no0]t for an application 130
6.5.5 permission denied for this window type 131
6.5.6 is your activity running 131
6.5.7 添加窗体失败 133
6.5.8 AlertDialog.resolveDialogTheme 134
6.5.9 The specified child already has a parent 136
6.5.10 子线程不能修改UI 137
6.5.11 不能在子线程[*]作AlertDialog和Toast 141
6.6 资源相关的异常 143
6.6.1 Resources
 编辑推荐
《App研发录:架构设计、Crash分析和竞[0品0]技术分析》由业界多位移动团队技术负责人联袂推荐,为打造高质量App[扌是]供了有价值的实践指导。 《App研发录:架构设计、Crash分析和竞[0品0]技术分析》中总结了80多个Crash的分析与处理,是迄今为止完整的Android异常分析资料。 剖析了[0国0]内上百款[0知0][0名0]App的前沿技术实现,竞[0品0]技术分析白皮书。
更多精彩,点[1击1]进入[0品0]牌店查阅>>