继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

构建 Android App 的宝贵经验

喵喔喔
关注TA
已关注
手记 514
粉丝 103
获赞 606
  1. 导入任何第三方包的时候都要再三思考,因为这个动作责任重大。

  1. 导入任何第三方包的时候都要再三思考,因为这个动作责任重大。

  2. 不要去绘制用户看不见的地方。

  3. 再三考虑数据库的使用对业务是不是必要的。

  4. 替代异步任务最好的东西是RxJava,没有之一。

  5. Retrofit是目前最好的网络请求框架。

  6. 可以使用Retrolambda来简化你的代码。

  7. RxJava+Retrofit+Retrolambda组合起来使用简直不能更爽。

  8. EventBus是个很好的消息总线库,我也用它,但是我不会过于依赖,因为大量使用这货会导致你的代码艰涩难懂,逻辑凌乱不堪,请慎用这货,包括RxBus。

  9. 分包按功能特点分,不要按业务层分。

  10. 主线程不要做耗时操作。

  11. 使用lint可以帮助你优化布局和布局层次,减少一些无必要的布局or控件。

  12. 如果你使用Gradle,那么尽可能去加速编译。

  13. 开启编译报告,看看编译过程中的耗时统计。

  14. 在架构上尽量采用大众化的。

  15. 测试是虽然费事费时,但是相比不要测试而言,你解决Bug的时候会更快,代码也更具健壮性。

  16. 使用依赖注入能让你的app更模块化更好测试。

  17. 订阅这个网站的内容对你大有裨益。

  18. 坚决不要使用个人邮箱作为应用商店平台的账户,当然也包括一些第三方服务提供商。

  19. 在使用EditText时,使用合适的输入类型。

  20. 使用 Android Studio -> Analyze 去分析和定位bug。

  21. 经常关注一些比较新的技术和库。例如dryrun这个库可以帮你减少构建远程仓库项目的时间。PS:我自己就在用,简直不能更爽。

  22. Service只做它应该做的,并且在需要它销毁的时候尽快能销毁。

  23. 使用AccountManager针对用户名和邮箱啥的提供建议。

  24. 使用CI (Continuous Integration)来构建和描述自己的beta版以及正式版apk。

  25. 不要运行自己的CI服务器,维护服务器很耗时,因为将有磁盘空间/安全问题/更新服务器以防止SSL攻击等等各种柴犬二哈问题在等着你。使用circleci,travis或shippable,它们便宜并且让你少操心。

  26. 发布app的时候可以使用自动部署。

  27. 你需要导入某个库,但是这个库特别大,而你只需要其中一小部分功能,那么你应该去找个更小的,更符合自己的库(proguard可以压缩资源)。

  28. 不要依赖导入过多的modules除非你真的需要。因为过多的modules会导致构建变慢(CI就是个例子),这比起直接使用二进制的.jar/.aar来说要慢4倍左右。

  29. 可以考虑将.PNG替换成.SVG了。

  30. library中抽象类能比较便捷的控制和替换使用场景(例如:AppLogger.d(“message”) 中包括了 Log.d(TAG, message)并且还能优化成 Timber.d(message))。

  31. 监控网络连接和连接的类型你会发现->wifi连接下可能刷新数据更频繁。

  32. 监控电量和电池你会发现->充电时候数据可能更新更频繁,低电量的时候数据更新很慢。

  33. 用户交互界面就是个笑话,除非你能讲解出来,否则它绝对不够好。

  34. 测试非常适合于性能上的调优:慢慢地(但正确)写一些实现,然后验证优化并且也不会破坏测试。

原文链接:http://www.apkbus.com/blog-873057-77888.html

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP