前言
关于如何高效率开发App,开发前需要做哪些准备呢?之前在知乎和segmentfault回到过类似的问题,在这里按划分功能模块---设计APP框架---APP质量把关---内测,正式发布的流程来总结。
1)功能模块
网络模块
事件总线
依赖注入
图片模块
数据存储
响应式编程
日志输出
JSON
XML
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 EventBusPhotoNoter
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版本分析,诊断问题ANR-WatchDog
检查ANR问题的利器ViewServer
当你用真机调试连不上Hierarchy Viewer,它可以帮助你完美解决问题androidtool-mac
可在mac上对Android手机和智能手表进行一键截屏、录制视频和安装APK等操作
后话
虽然这些开源库好用,能让你快速的开发出一款APP。但使用前最好要了它们存在的一些bug和坑,遇到问题可以给作者提issue,能摸索清楚原理更好了。还有就是不要过于追求开源库,过多引入会导致你的代码臃肿,更会造成65535方法数限制的问题,这时你得用Multidex来解决问题了,在这里可以查询你apk的方法数apk-method-count。
另外打个小广告,推荐下自己的:Android-Dev-Favorites,里面收集了Android开发的干货,并且会不定期更新哦。还有自己的博客。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。