参考文章
http://www.tuicool.com/articles/jUvyUjB
EventBus 这张文章,怎么使用使用方法已经罗列的很清楚,我只想指出比较重要的点
//Event-------------------------start-------------------------------
/**
* 使用onEvent来接收事件,<span style="color:#ff0000;">那么接收事件和分发事件在一个线程中执行</span>
* @param event
*/
public void onEvent(PostEvent event)
{
Log.d("yzy", "OnEvent-->"+Thread.currentThread().getId());
}
/**
* 使用onEventMainThread来接收事件,<span style="color:#ff0000;">那么不论分发事件在哪个线程运行,接收事件永远在UI线程执行,</span>
* 这对于android应用是非常有意义的
* @param event
*/
public void onEventMainThread(MainEvent event)
{
Log.d("yzy", "onEventMainThread-->"+Thread.currentThread().getId());
}
/**
* 使用onEventBackgroundThread来接收事件,如果分发事件在子线程运行,<span style="color:#ff0000;">那么接收事件直接在同样线程
* 运行,如果分发事件在UI线程,那么会启动一个子线程运行接收事件
</span> * @param event
*/
public void onEventBackgroundThread(BackEvent event)
{
Log.d("yzy", "onEventBackgroundThread-->"+Thread.currentThread().getId());
}
/**
* 使用onEventAsync接收事件,<span style="color:#ff0000;">无论分发事件在(UI或者子线程)哪个线程执行,接收都会在另外一个子线程执行</span>
* @param event
*/
public void onEventAsync(AsyncEvent event)
{
Log.d("yzy", "onEventAsync-->"+Thread.currentThread().getId());
}
//Event------------------------------end-------------------------------------
上面代码已经标注了比较重要的地方
特别指出:
public void onEvent
此方法,的使用大家经常忽略,注意,接受者,发送者,同一个线程内。