ywl5320 / rxbusDemo

Android中的RxBus,可设置tag和制定运行的线程,消息传递,简单实用
GNU General Public License v2.0
19 stars 3 forks source link

你好 请问 如果传递的是一个集合 应该怎么定义呢 如下 #1

Open liuwen370494581 opened 7 years ago

liuwen370494581 commented 7 years ago

`` RxBus.getInstance().post("AccountModel", homListData);

RxBus.getInstance().toObserverableOnMainThread("AccountModel", new RxBusResult() { @Override public void onRxBusResult(Object o) { mButton.setText(o.toString()); ToastUtils.showToast(getActivity(), o+""); } }); 这样结果只能打印出Object内存中的地址 list集合的数据是拿不到 如果传递的是一个集合 应该怎么重新定义呢

ywl5320 commented 7 years ago

集合我还没有试过 不过 这个bus有问题 复杂点的消息传递就不正确 所以看你还继续用不

liuwen370494581 commented 7 years ago

可以传递过去了 需要强转 所以数据可能会有丢失,复杂一点的话 是有多复杂呢?我传递的是一个集合 private List<Map<String, AccountModel>> homListData; 我传递的是这样的一个集合 传递的数据基本上没有多大的问题 肯定还是会继续用的 这个很不错

liuwen370494581 commented 7 years ago

用了一段时间了 发现内存泄漏的厉害
@Override protected void onDestroy() { super.onDestroy(); RxBus.getInstance().removeObserverable(Config.ModelSaveAPen); } 在destory中明明已经销毁了 但是 用内存检查的工具还是说有内存泄漏 楼主你是怎么解决这块的?还有你之前说复杂一点的消息传递不正确 确实也已经遇到了

ywl5320 commented 7 years ago

对呀 我还发现一个问题 数据传递过去了 但是不能展示 应该是进程不同导致的 现在这个bus还不能用于商业 自己玩玩可以

liuwen370494581 commented 7 years ago

数据传递过去 不能展示 这个我没有遇到过 关于泄漏内存那块 我看了其他的RxBus 他们是把rxlifecycle绑定来 解决 我试下能不能改造一下 把这个rxlifecycle 关联 其他的rxbus 我也试过了 没这个好用 哈哈 楼主有时间可以在研究一下

ywl5320 commented 7 years ago

好的 等空了我再看看 哪里内存泄露了哈 多谢支持

liuwen370494581 commented 7 years ago

检测工具显示的是RxBus和什么观察者泄漏内存了 但是我在onDestory()方法中都已经注销了 不知道为什么还会内存泄漏