Ограничение размера Intent.putExtras?

Я пытаюсь передать данные от одного действия другому через Intent.putExtras следующим образом:

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);

Здесь mUsers - это список HashMap с данными пользователей, включая фотографию в кодировке Base64, сумма размеров строк в этом списке около 500 Кб

Звонок на startActivityForResult зависает на несколько минут с черным экран, а затем я получаю ошибку ANR. Поддействие onCreate вообще не вызывается.

Если я не добавляю большие строки в mUsers (без фотографий в кодировке Base64) - все работает нормально.

Пожалуйста, помогите.

5
задан Tiger 21 February 2012 в 20:25
поделиться