APP研发录读后感

很不错的一本书,记录了我认为对开发很有帮助的点

Posted by 晓晨DEV的技术博客 on March 7, 2016

第一章 重构

1.拆分Activity 生命周期 onCreate() -> initVariables()初始化变量、initViews()加载布局文件、loadData()。在BaseActivity声明为抽象方法。

第二章 网络框架设计

1.Get请求数据 Post修改数据。

2.定义Response实体类作为所有JSON数据最外层。包括isError、errorType、errorMessage、result。

3.网络请求失败可以在上层封装一个 统一的处理 如弹出dialog。

4.网络请求要设计缓存功能也要设计强制更新功能。

5.设计MockService功能,返回假数据在服务器没开发完成时候,不会影响客户端开发。

6.统一处理cookie过期。

7.http有必要情况下可以开启gzip压缩。

第三章 Android经典场景的设计

1.post请求不建议有重试机制(服务器有防重机制除外)

2.尽量保证下载的图片符合imageView大小。请求url加上宽高参数

3.低流量模式,url加上quality参数 在2g 3g网络下返回低质量图片

4.对于一些会变化的数据,也要加上版本号,可以做增量更新。

5.某些页面可以控制可以显示Html5页面,开关由服务器控制。

6.内存不足时候全局变量可能被回收,尽量少使用全局变量。

第四章 命名规格和编码规范

1.控件声明为全局变量比较好。

2.在dimen定义字体大小 可以定义tiny small normal normal_high large等等。

第五章 Crash异常收集与统计

1.Crash发送到服务器,给用户友好的提示,把错误记录到Sd卡

2.使用第三方服务帮助分析

第六章 Crash异常分析

第七章 ProGuard技术详解

第八章 持续集成

第九章 App竞品分析

1.App结构

 |—— resources.arscz apk文件资源索引表

 |—— lib目录下arneabi存放so文件

 |—— META-INF存放签名信息(这个目录下文件不会被签名)

 |—— assets 本地数据(本地Html css 等)

 |—— res资源目录(anim下是动画)

2.加密的xml可用AXMLPrinter2.jar 还原

3.App展示页一般操作(友盟打点统计激活数、注册推送、准备跳转页面、初始化崩溃收集机制或发送需要发送的崩溃)

4.加快Html5打开速度,本地存放Zip包,Zip包有增量更新机制。

5.建议内部图片使用png格式、网络下载图片使用jpg格式 大尺寸图片使用jpg格式

6.自动选取最佳服务器

7.考虑Tcp+protobuf 替换Http+Json

8.打点使用第三方工具

9.对于劫持的应对(公钥私钥解决)

10.xml配置默认数据 防止加载不出数据时候无入口显示

11.App后门 (调试工具等)

12.Dex分包

13.Countly开源的移动应用统计分析平台

14.版本号策略(第二位用于递增 第三位用于紧急发版)(其他策略也可)

15.Zip包可以加密码

第十章 项目管理决定开发进度

1.产品经理自己要想明白要做什么。

2.让html5 提前app一个迭代,保证mobileapi正常

3.有些页面为了保证Monkey可以跑入,可以在程序中设置isMonkey变量。

4.团队Quiet Time提升效率。


分享