title: Is using event library like Otto or EventBus a recommended way to handle relations between Activities, Fragments, and background threads
body: <p>In most of the case, when dealing with case</p>
  
  <ul>
  <li>User thread (<code>AsyncTask</code>) to perform background processing</li>
  <li>Pass back calculated result back to <code>Activity</code> or <code>Fragment</code></li>
  <li><code>Activity</code> or <code>Fragment</code> re-creation might happen before user thread finishes its background processing</li>
  </ul>
  
  <p>So far, from many reliable sources, I can see the recommended way is using
  <strong>Retained Fragment</strong></p>
  
  <h2>Sources</h2>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/7128670/best-practice-asynctask-during-orientation-change">Best practice: AsyncTask during orientation change</a></li>
  <li><a href="http://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html" rel="noreferrer">http://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html</a></li>
  <li><a href="http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html" rel="noreferrer">http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html</a></li>
  </ul>
  
  <p>From time to time, I heard event bus libraries is good for handling relations between Activities, Fragments, and background threads. (Please refer to <a href="https://github.com/greenrobot/EventBus" rel="noreferrer">https://github.com/greenrobot/EventBus</a>. It states that <em>performs well with Activities, Fragments, and background threads</em>)</p>
  
  <p>I came across some really popular event bus libraries</p>
  
  <ul>
  <li><a href="https://github.com/greenrobot/EventBus" rel="noreferrer">EventBus</a></li>
  <li><a href="https://github.com/square/otto" rel="noreferrer">Otto</a></li>
  </ul>
  
  <p>I was wondering, when comes to handle relations between Activities, Fragments, and background threads, how is event bus approach different from <strong>Retained Fragment</strong> approach?</p>
  
  <p>Which ways is a recommended way?</p>