Android分享:如何高效率开发App

前言

  关于如何高效率开发App,开发前需要做哪些准备呢?之前在知乎和segmentfault回到过类似的问题,在这里按划分功能模块—设计APP框架—APP质量把关—内测,正式发布的流程来总结。

1)功能模块

网络模块

事件总线

依赖注入

图片模块

数据库模块

响应式编程

日志输出

JSON

2)架构设计

这个肯定得了解下MVC,MVP,MVVM还有设计模式这些,这里有几个开源项目推荐下

  • philm
    Movie collection and information app for Android.
  • SimpleNews
    基于Material Design和MVP的新闻客户端

  • GankDaily
    A application show technical information every working days, use MVP pattern.

  • SimplifyReader
    一款基于Google Material Design设计开发的Android客户端

  • NBAPlus
    A concise APP about NBA News and Event with RxJava and EventBus

  • PhotoNoter
    Material Design风格的开源照片笔记。(MVP+Dagger2+RxJava+Dex分包异步加载)

  • Meizhi
    gank.io unofficial client, RxJava & Retrofit

3)崩溃统计平台

对APP崩溃统计是必须的啦,Crittercism和Crashlytics有时候需要梯子,你懂的。ACRA需要自己来搭建。

4)测试相关

  • testerhome
    支付宝Monkey老师推荐的测试社区,里面有很多干货

  • bugtags
    新一代的、专为移动测试而生的缺陷发现及管理工具

  • testin
    免费移动App真机云测试平台

  • Emmagee
    网易出品的,是监控指定被测应用在使用过程中占用机器的CPU、内存、流量资源的性能测试小工具。

  • GT
    腾讯出品的,对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、 网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等

  • awesome-android-testing
    收集了不少测试用到的library.

5)APP内测,分发

APP开发完成了,想通过链接方式发给别人使用测试,下面两个平台可以帮到你

6)其他

  • leakcanary
    检查内存泄露,square出名,必属精品

  • blockcanary
    检测UI卡顿, 阿里工程师出品

  • DebugDrawer
    帮你快速的在debug版本分析,诊断问题

  • ViewServer
    当你用真机调试连不上Hierarchy Viewer,它可以帮助你完美解决问题

  • androidtool-mac
    可在mac上对Android手机和智能手表进行一键截屏、录制视频和安装APK等操作

后话

  虽然这些开源库好用,能让你快速的开发出一款APP。但使用前最好要了它们存在的一些bug和坑,遇到问题可以给作者提issue,能摸索清楚原理更好了。还有就是不要过于追求开源库,过多引入会导致你的代码臃肿,更会造成65535方法数限制的问题,这时你得用Multidex来解决问题了,在这里可以查询你apk的方法数apk-method-count

  另外打个小广告,推荐下自己的:Android-Dev-Favorites,里面收集了Android开发的干货,并且会不定期更新哦。