EventBus2.4的一个坑

一个时间跨度比较长的项目,用的EventBus的版本是2.4的,也不改了,不知道更高版本会不会有这个问题。

一般的,在public void onEventMainThread(...)方法里面响应EventBus的post方法调用,今天遇到了一个坑。我在方法里发送广播,但就是怎么都发不出去,检查广播调用,写法没有问题。后来我把这部分代码拿到onCreate方法里面去,执行就崩溃了。

查看崩溃日志发现广播带的Bundle的对象封装有问题,出现空指针,但是在onEventMainThread方法里面执行就不会崩溃,所以问题不容易发现,应该是onEventMainThread默认把方法体内的代码都try/catch了。当然,细心点的话,即使不会崩溃,日志还是能看到详细错误信息的。

总结:EventBus的onEventMainThread方法内部,代码出错程序执行不会崩溃,需要注意。

你可能感兴趣的:(android)