[译]构建Android Apps—这30件事情让我走上了一条不归之路

原文:点这里

有两种人-一种人自己摸索着前进,另一种听着别人的意见前行。下面是我这一路上学习到的东西,我希望可以与你一起分享:

1.当你添加第三方包的时候,慎重考虑。

2.不要让你的布局超出屏幕。

3.除非必要不要使用数据库。

4.你会非常快的触碰到65k方法数量限制的!不过不要慌,multidexing可以帮助你。

5.你要处理异步任务的话RxJava是最好的选择。

6.Retrofit是最好的网络连接库。

7.学会使用Retrolambda缩短你的代码。

8.结合使用RxJava with Retrofit and Retrolambda你会爱上他的。

9.EventBus是非常棒的,我虽然用但是不常用,用多了代码结构会变得非常的乱。

10.按照功能分包,而不是布局。

11.把所有的操作移除application线程。

12.通过lint工具检查你的视图,优化布局以及布局层次,并且你可以确定那些冗长并且重复的代码予以删除。

13.如果你在使用gradle,用任何手段保持它的更新。

14.实时关注你的项目构建的profile reports看看浪费了多少时间。

15.使用一些众所周知的架构。

16.测试代码虽然比较花时间,但是他比没有测试过的代码更快更强,谁测谁知道。

17.使用依赖注入,可以让你的程序更加模块化,这样比较容易测试。

18.多听听fragmented podcast对你的好处大大滴哟。

19.绝对不要使用你私人的账户去市场上提交应用。

20.键盘输入类型要选好。

21.多多使用分析工具来查找一些潜在的八阿哥。

22.新添加的类库优先放在最上面(你可以使用dryrun来测试它们)。

23.你的服务在做完该做的事情之后应该尽快的销毁它。

24.使用Account Manager来推荐登录名和邮箱。

25.使用CI(Continuous Integration)来构建你的应用和分发你的测试版以及正式版应用。

26.不要运行您自己的CI服务器,维护服务器是耗时的,因为磁盘空间/安全问题/更新服务器以防止SSL攻击等。使用circleci,travis或shippable,他们非常的便宜,并且省心。

27.自动化您的部署到谷歌应用市场。

28.如果一个库是巨大的,你只使用它的函数的一小部分,你应该找到一个替代的更小的选项(例如依靠proguard或者阉割版)。

29.不要使用比实际需要的更多的模块。 如果这些模块不是经常修改,重要的是要考虑从头开始编译它们所需的时间(CI构建是一个很好的例子),或者甚至检查先前的单独模块构建是否是最新的, 最多几乎是将该依赖性作为二进制文件.jar / .aar加载的大约4倍。

30.开始学会把PNG格式的图片转换成SVG吧。

31.封装你的第三方类库,这样下次更换类库的时候你会很爽的(例如:AppLogger.d(“message”)可以包含Log.d(TAG,message),后来意识到Timber.d(message)是一个更好的选择)。

32.监控数据连接和数据连接类型(在WIFI网络的时候才做大数据请求的操作)。

33.监控电池电量状态(充电的时候更新数据?电池电量低时暂停更新?)。

34.界面交互就像一个笑话。 如果你要解释它,这不是那么好。

35.测试对性能很有用:虽然比较慢(但正确)实现,然后验证优化不会因测试而破坏任何东西。

。。。

如果你有任何问题给原作者发一个tweet@cesarmcferreira!或者给我发微博@lekenny_cn!

你可能感兴趣的:([译]构建Android Apps—这30件事情让我走上了一条不归之路)