EventBus官方寫法:

但是當(dāng)我們在onstop反注冊的時(shí)候,發(fā)現(xiàn)并不會觸發(fā)訂閱事件,所以說官方的寫法也是會有誤差的;
所以常規(guī)寫法是在onCreate方法和onDestory中進(jìn)行注冊和反注冊,那么這樣寫就是最好的寫法嗎?
當(dāng)然不是,我們發(fā)現(xiàn)github上EventBus中有AnnotationProcresser注解處理器,但是官方并沒有說要去依賴注解處理器,只給出了

所以這個寫法也不是最正確的寫法,這樣EventBus用的只是java反射來實(shí)現(xiàn)事件傳遞,并沒有用到注解處理器;
從官方EventBus其實(shí)有注解處理器的http://greenrobot.org/eventbus/documentation/subscriber-index/
這個文檔中正確的說明注解處理器的使用

然后再build 項(xiàng)目,會在build目錄出現(xiàn)

,然后在Application中添加這個index

那么在我們調(diào)用register方法進(jìn)行注冊的時(shí)候就會執(zhí)行不同的機(jī)制(反射和注解)。