Android开发30条经验
Android开发30条经验
有两种人,一种是自己摸索来学习,一种是通过别人的建议。这儿有些经验我想与你们分享:
- 使用任何第三方库之前,请慎重考虑,一会是一个很严重的提交。
- 如果用户看不到它,别绘制它。
- 除非你真的需要使用数据库,否则别用。
- 方法数很容易超过65K,**
multidexing
**可以帮助你。 RxJava
是比AsyncTasks
更好的选择。Retrofit
是最好的网络库。- 使用
Retrolambda
来简化代码。 - 混合使用
RxJava, Retrofit, Retrolambda
很棒! EventBus
很棒,但不要使用太多,它会让代码很难调试。- 按功能分包,而不是按层分包。
- 把任何东西都从主线程移除掉。
- 使用
lint
来帮助你优化布局。 - 如果你使用
gradle
,尽一切可能来加速。方式 - 提取编译报告,看看什么比较耗时。
- 使用知名的架构
- 测试很花时间,但它使代码更健壮。
- 使用依赖注入使项目更具模块化和更方便测试。
- 听听fragmentedpodcast将会对你很有帮助。
- 不要使用你自己的邮箱作为android市场的发布账号。
- 总是使用合理的输入类型(EditText)
- 使用analytics来查找使用的模式和隔离代码。
- 总是更新到最新的库(使用
dryrun
来测试它们) - 你的服务应该做它们需要做的事情,尽可能快的销毁。
- 使用
Account Manager
来建议登录用户名和邮箱地址。 - 使用可持续集成平台来构建和发布你的产品。
- 不要运行自己的
CI
服务器,维护这个服务器是很耗时的。使用circleci, travis或者shippable
,它们很便宜,并且需要关注的东西很少。 - 自动部署到市场。
- 如果一个库很巨大,你仅仅只是需要当中的一小部分功能,简化它(使用proguard)。
- 别使用太多的模块。如果模块不是经常修改,应该考虑将其打包成
.jar/.aar
,这样构建速度会大大提高。 - 使用SVG
- 使库抽象化,这样能很方便的切换到别的库。
- 监控连接和连接类型。
- 监控电量和电池
- 用户界面就像小丑,如果你需要解释它,那还不如不要。
- 性能测试很重要。