Android: efficiency of CursorLoader-swapCursor vs ArrayList-notifyDataSetChanged?
<p>I have a list which usually contains &lt; 100 entries. Sometimes 200-1000 entries. Occasionally it can contain many more such as 20000 entries.
Data is queried from a few SQLiteDatabase tables.</p>

<ol>
<li>I load and display the data in a ListView.</li>
<li>I do various reads/writes in other app logic such as in a service etc.</li>
<li><p>I do operations such as: move some items around, to beginning or end of the list, modify their content, delete them, add new ones etc. - and save changes in the DB.</p>

<ul>
<li><p>For the ListView I call <code>mAdapter.notifyDataSetChanged()</code>.</p></li>
<li><p>I consider implementing a Loader (SQLite query loader) to use Loaders. The loader will observe data changes, re-run the query and I would use <code>mAdaptor.swapCursor()</code> to use the new Cursor.</p></li>
</ul></li>
</ol>

<p>My question is: while both methods would be asynchronous, which one of the above would be more efficient? (shorter loading time etc)?</p>