У меня была та же проблема, которая сводилась к следующему: я поскользнулся, и одна из моих переменных не была записана в правильной последовательности. Я думаю, что Parcelable работает на очень низком уровне.
Я предполагаю, что на низком уровне он пытался прочитать arraylist в неправильном месте памяти, и он никогда не получал "Прекратить чтение!" сигнал. Таким образом, он продолжал читать как сумасшедший, пока пространство кучи не достигло предела приложения. * Я также предполагаю, что у вас, вероятно, была / есть похожая проблема
Итог: перепроверьте свои функции чтения и записи Parcelable и убедитесь, что они читают / записывают переменные в той же последовательности
- Хотя об этом спрашивали довольно давно. Я нашел эту страницу через Google, поэтому продолжил и разместил ее на тот случай, если кто-нибудь еще столкнется с такой же проблемой.
Редактировать: Я бы также порекомендовал предложение Эвин, и я рекомендую проголосовать за него. Это фактически помогло мне сузить его до ArrayLists в объекте Parcel