El uso de Android TaskFinity

Estoy leyendo sobre taskaffinity y creé una aplicación de demostración con las siguientes actividades:

AB ===> taskafinity, com.andoCD ===> taskafinity, com.andoE

Está escrito que, Actividades con la misma afinidad de tareas abre secretamente la instancia única de otra.

Por lo tanto, puse log on onResume de cada actividad para ver el ID de la tarea. Si crea una instancia única, entonces ¿por qué no se está ejecutando en el resumen de B cuando abro D y viceversa?

Leí el sitio de los desarrolladores y otras publicaciones, pero aún no entiendo cómo usar taskafinity y cuál es su uso, ¿por qué no deberíamos usar singleInstance?

Manifiesto:

 <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.danroid.taskaffinity.A"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!-- android:taskAffinity="com.ando" -->
    <activity
        android:name="com.example.danroid.taskaffinity.B"
        android:label="@string/app_name"
        android:taskAffinity="@string/task_affinity" >
    </activity>
    <activity
        android:name="com.example.danroid.taskaffinity.C"
        android:label="@string/app_name" >
    </activity>
    <activity
        android:name="com.example.danroid.taskaffinity.D"
        android:label="@string/app_name"
        android:taskAffinity="@string/task_affinity" >
    </activity>
    <activity
        android:name="com.example.danroid.taskaffinity.E"
        android:label="@string/app_name" >
    </activity>
</application>

Respuestas a la pregunta(1)

Su respuesta a la pregunta