Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

当较多的事件发出时,较多的ANR日志出现 #101

Closed
joimxjtuse opened this issue Jan 4, 2020 · 5 comments
Closed

当较多的事件发出时,较多的ANR日志出现 #101

joimxjtuse opened this issue Jan 4, 2020 · 5 comments

Comments

@joimxjtuse
Copy link

我的项目 使用了RxJava, Room-db和retrofit,为了让各ui部分的功能的实现统一,我较多的使用了RxBus处理fragment-2-activity, fragemnt-2fragment之间的通信,但是我发现当事件发送较多的时候 抛出anr日志的情况较多, 不知道大家是否遇到过, 后来为了项目及时上线,我对部分抛anr日志较多的功能 重新使用 回调 来实现(visitor模式),这其实违背了初衷:业务模块的解藕。 大家是否解决过这样的问题呢?

@joimxjtuse joimxjtuse changed the title 当较多的时间过来时,较多的ANR日志出现 当较多的事件发出时,较多的ANR日志出现 Jan 4, 2020
@LowLowCoder-Mel
Copy link

我目前使用 kotlin mvvm 架构, 利用协程来处理 RxBus 事件, 使用时 数据处理使用后台协程(Dispatchers.IO)处理, 然后ui部分采用 ui 协程 (Dispatchers.Main)

@joimxjtuse
Copy link
Author

joimxjtuse commented Feb 1, 2020

我目前使用 kotlin mvvm 架构, 利用协程来处理 RxBus 事件, 使用时 数据处理使用后台协程(Dispatchers.IO)处理, 然后ui部分采用 ui 协程 (Dispatchers.Main)

我没刻意关注耗时在subscribe / 线程切换(好像 我的case都是发生在ui线程,不存在线程切换) / oberver 具体哪个地方 ,我个人的场景是 瞬时间大量的task 加入到 flowable内。

我没了解 kotlin的协程是怎么 实现的, 根据协程的原理,只是将多个任务让一个线程去处理(我的理解对吗?), 那如果 瞬时间有多个click任务 加入到事件队列里面是否 会有执行延迟, 疑惑卡顿严重的饿问题呢??

@zhang632615 , 不知道 您那边 有 用 rxbus去 划分业务层吗, 比如click事件都使用事件(以结偶fragmenty、activity的关联),这时候是否体验依然很不错呢?

@joimxjtuse
Copy link
Author

我现在的项目 是个新项目 ,所以 使用rxbus来隔离的业务层,开始效果不错,也基本达到来拥抱变化的效果,但是 随着业务的庞大, 性能问题暴露的饿挺明显的, 所以我非常不建议使用rxbus来结偶业务层 ,虽然我目前没有找到 比较好的办法证明,但是 我将部分业务功能 切换回visitor模式的实现,体验有较明显的提高。

@joimxjtuse
Copy link
Author

我现在的项目 是个新项目 ,所以 使用rxbus来隔离的业务层,开始效果不错,也基本达到来拥抱变化的效果,但是 随着业务的庞大, 性能问题暴露的饿挺明显的, 所以我非常不建议使用rxbus来结偶业务层 ,虽然我目前没有找到 比较好的办法证明,但是 我将部分业务功能 切换回visitor模式的实现,体验有较明显的提高。

我说的“结偶业务层” 是指 把f2a,f2f里 甚至click事件的所有可能有引起耦合的逻辑都使用事件驱动。

@hwangjr
Copy link
Member

hwangjr commented Mar 13, 2020

能否提供一个demo?或者将ANR日志提供下。我看下。另外,依赖看是否要升级,欢迎 pull request。

@hwangjr hwangjr closed this as completed Jan 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants