What architecture or mechanism should I use to efficiently manage activity screen sequences on Android?
<p>What architecture or mechanism should I use to efficiently manage activity screen sequences on Android?</p>

<p>Currently, I have one main activity that manages several other activities to collect data or present results. I would like to avoid refreshing the screen for each which appears as flashing to the user. Activities are started through startActivityForResult() and the MainActivity parse return values in onActivityResult()</p>

<p>For clarity, here is a graph of activities and what the user see (Views column).
Depending on ActivityA's result, the MainActivity will start ActivityB or ActivityC.
The problem is that the MainActivity view will be displayed a fraction of second before viewB or viewC. That's the refresh that I would like to avoid.</p>

<pre><code>                                         Views
------------------------------------------------
MainActivity                             Main
             Start   --&gt; Activity A      ViewA
             ResultA &lt;--                 Main    &lt;-- The issue

if(resultA)  Start   --&gt; Activity B      ViewB
else         Start   --&gt; Activity C      ViewC
</code></pre>

<p>I've started to study different solutions by using switchView instead of different activities or use finishActivity() in order to finish activityA from the main one after having started the B or C ... but I wonder if it is really the best way to do it.</p>
