Я пытаюсь передать данные от одного действия другому через 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) - все работает нормально.
Пожалуйста, помогите.