介绍:
使用第三方框架可以加快项目开发进度,为了加强对EventBus框架原理的理解同时更好掌握kotlin语言,这次我使用kotlin实现eventbus基本功能:注册,取消注册,消息传递,主线程,子线程事件传递。
为了更好理解通过下面几个流程图来说明:
EventBus注册流程
//注解注册
fun register(item: Object){
//判断改对象是否已经注册
var list : ArrayList<SubscrbileMethod>? = cacheMap?.get(item)
if(list == null){
list = findSubscrbileMethods(item)
//将所有注解方法和对象绑定到map中
list?.let { cacheMap?.put(item, it) }
}
}
//获取改注解所有注解方法
fun findSubscrbileMethods(item:Object):ArrayList<SubscrbileMethod>{
var list : ArrayList<SubscrbileMethod> =