RxJavaSamples icon indicating copy to clipboard operation
RxJavaSamples copied to clipboard

关于*map的一些疑问

Open LichFaker opened this issue 8 years ago • 5 comments

凯哥好, 如果我在map中接收udp的data包,相当于阻塞线程,此时就算调用了unsubscribe()最终也还是会执行Observer,这样会造成内存泄漏,遇到这样的情况该如何处理?

LichFaker avatar Apr 21 '16 10:04 LichFaker

为什么会造成内存泄露没看懂…… unsubscribe() 做的是解绑,它无法阻止你的工作线程的工作,你的工作线程依然会继续进行网络通信,但工作线程和 Observer 的连接已经断开了,应该不会泄露内存吧?

至于工作线程继续工作的问题,如果你想把它立即停止,解决方案就和你使用 RxJava 之前使用一样的就行了。

rengwuxian avatar Apr 22 '16 04:04 rengwuxian

但事实上并没有和Observer解绑成功,最终还是会执行订阅的方法,当再次进入的时候就造成泄漏了。 我试着在你给的例子的flatmap()方法中执行udp的receive操作,遇到了一样的问题

LichFaker avatar Apr 22 '16 06:04 LichFaker

我应该明白你的意思了,但没有遇到过你的情况……你找身边的人帮你看看是不是哪里有什么别的问题试试看?

On Fri, Apr 22, 2016 at 2:02 PM Shenhuan Chan [email protected] wrote:

但事实上并没有和Observer解绑成功,最终还是会执行订阅的方法,当再次进入的时候就造成泄漏了。 我试着在你给的例子的flatmap()方法中执行udp的receive操作,遇到了一样的问题

— You are receiving this because you commented.

Reply to this email directly or view it on GitHub https://github.com/rengwuxian/RxJavaSamples/issues/7#issuecomment-213274637

rengwuxian avatar Apr 22 '16 07:04 rengwuxian

okay, thanks anyway

LichFaker avatar Apr 22 '16 09:04 LichFaker

大神 厉害呀

androidzhang avatar Aug 11 '17 05:08 androidzhang