,被观察者使用这个标记 Post 一个事件,然后从这个容器中拿出所有使用这个标记注册过的观察者,挨个通知,这样既解耦,并且只要知道这个标记,在 App 任何位置都可以监听,也支持一对多
加上需求 4,中提到的使用...Url 作为标记,那我就可以做到之前请求的代码一个也不用改,只用写接收端的代码即可实现监听进度的需求
构思 Api
既然谈到 EventBus ,那我就用 EventBus 的 Api 来设计,用户只用一行代码...,传入一个 标记 和一个 事件 即可实现上传和下载进度监听,没错 标记 就是 Url , 事件 就是用于获取进度信息的 监听器,这样也就满足了 需求 3 的一行代码实现的需求
Like this
ProgressManager.post...(标记,事件);
用户调用这一行代码后,我会将 Url 作为 Key,监听器 作为 value 放入一个全局唯一的 Map 中
等等?...,来达到一对多的同步更新
但是这样 监听器 达到一定数量就会出现性能问题,并且在遍历时,搞不好使用者也会,不断的添加新的监听器,在遍历时改变容器的长度是容易发生错误的
所以我在将 List 传入 Body