[Android]如何做一个崩溃率少于千分之三噶应用app(4)
以下是我这个相关的文章,有兴趣可以浏览一下
[Android]如何做一个崩溃率少于千分之三噶应用app(1)-module工程架构
[Android]如何做一个崩溃率少于千分之三噶应用app(2)-完全退出App
[Android]如何做一个崩溃率少于千分之三噶应用app(3)-极速编译
在阅读这篇文章前,请阅读极速编译这篇文章。
这里先给大家介绍一下OkBuck的相关博客OKBuck介绍
1.我们编译的时候成功后会发现出现BUCK脚本文件,用于BUCK构建。使用OkBuck会令工程自动生成BUCK脚本文件。
2.如果我们的构建超过了方法数,我们需要使用multdex,我们需要注意的是启动崩溃和启动速度的问题
Android的multidex带来的性能问题-减慢app启动速度
3.同时注意到OkBuck的已知坑里面还有RetroLambda, ButterKnife的不兼容问题(这都是BUCK的问题呀!),原因是Buck生成的类似于R.id的索引文件,不是final的的常量。ButterKnife的运行前注解,所以应该会把控件类型生命成final,而Buck应该是只支持运行时的注解,EventBus是运行时注解所以是支持的。BUCK 产生的资源值都不是final,所以无法应用在注解中,像 AndroidAnnotation 这样的库就依然是不兼容的,而对 ButterKnife 的兼容处理、aidl 的支持,都需要按照特定的方式编写代码。
4.如果需要想兼容RetroLamba,可以查看这个文章BUCK 与 RetroLambda 兼容性解决方案
5.说到因为Buck产生的资源值都不是final,是不支持常量的,所以switch case的语句是预先声明成常量的语句,全部都需要替换成if else的判断语句。Android studio有switch转if的快捷键(在switch后面alt+enter)
6.现在BUCK只支持mac 和linux,mac其实本质是的unix系统,所以只支持linux系统。
官网有提到,我们还是最主要多阅读Buck官网的最新动态吧
本节在这里结束了。