Intent.putExtras limite de tamanho?

Estou tentando passar dados de uma atividade para outra viaIntent.putExtras como isso

private ArrayList<HashMap<String, String>> mGroups = new ArrayList<HashMap<String, String>>();
private ArrayList<HashMap<String, String>> mUsers = new ArrayList<HashMap<String, String>>();
...

Bundle data = new Bundle();
data.putInt("mode", mode);
data.putSerializable("groups", (Serializable) mGroups);
data.putSerializable("users", (Serializable) mUsers);
data.putInt("current_class", mCurrentClassId);
data.putInt("current_user", mCurrentUserId);

Intent intent = new Intent(ctx, ChildActivity.class);
intent.putExtras(data);
ctx.startActivityForResult(intent, 0);

AquimUsers é uma lista deHashMap<String,String> com os dados dos usuários, incluindo a foto codificada em Base64, a soma dos tamanhos de cadeias nesta lista é de cerca de 500 KB

Ligar parastartActivityForResult trava por alguns minutos com tela preta e, em seguida, recebo um erro ANR. Sub-atividadeonCreate não é chamado de forma alguma.

Se eu não adicionar strings grandes em mUsers (sem fotos codificadas em Base64) - funciona muito be

Por favor ajude

questionAnswers(4)

yourAnswerToTheQuestion