How to Keep your RxJava Subscribers from Leaking |



How to Keep your RxJava Subscribers from Leaking |

Edit: Shortly after writing this l, I realized that the solution that I present here isn't very good. I'm leaving it here just in case it can serve as a building block for better solutions.

Sometimes you don't have control over the lifecycle of your Subscribers. In these cases, to avoid leaking your Subscriber, you have to unsubscribe from your Observable when you're notified that your Subscriber is about to be destroyed. It can be really annoying to have to worry about unsubscribing your Subscriptions to avoid memory leaks, so in this post, I'll show how, with a few lines of code, you can stop worrying about leaking your Subscribers.

Before I try to show how to memory-leak-proof your Subscribers, I want to give a concrete example that shows when memory-leak-proof Subscribers might be useful. This example will also clarify the problem that memory-leak-proof Subscribers are trying to solve. I spend most of my time doing Android development these days, so an Android example is the most natural way for me to elaborate on this problem, so here's an Android-specific use-case: You'd probably want want a memory-leak-proof Subscriber when you're writing an Activity.

An Android Activity is basically a screen that you see when you're using an Android app. The Android framework manages the lifecycle of Activities. Activities, moreover, are also often responsible for responding to touch events.


Read full article from How to Keep your RxJava Subscribers from Leaking |


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts