Android architecture: Where should we hold the Cursor(s)?
<p>Scenario:</p>

<pre><code>public class MyApplication extends Application{...}
</code></pre>

<p>Three Activities, Overview, List and Map,<br>
displaying the <strong>same data</strong> only providing different UI/UX.</p>

<p>Data fed into Contentprovider db and frequently updated externally by a SyncAdapter,<br>
part of another application.</p>

<p>Read data from Contentprovider in to cursor.<br>
Do cursor.setNotificationUri(),<br>
to make the cursor listen for db/Uri changes.</p>

<p><strong>Alt1.</strong> Hold the cursor in MyApplication.<br>
Overview, List and Map then asks MyApplication for data.<br>
On a db change MyApplication holds a reference to each Activity<br>
and notifies them to ask for the data again from MyApplication.  </p>

<p><strong>Alt2.</strong> Hold one cursor in each Activity.<br>
On a db change each Activity requeries the cursor for the data again.  </p>

<p><strong>Where should we hold the Cursor(s) ?</strong></p>
