Эффективность Parcelable для внутрипроцессного общения - PullRequest
3 голосов
/ 08 октября 2010

Я хочу передать огромный объект (например, Bitmap) из одного действия в другое внутри одного процесса.Если я добавлю его в Bundle как Parcelable, будет ли Android действительно сериализовать объект или передать его по ссылке?

1 Ответ

0 голосов
/ 13 марта 2012

Android использует объект Parcelable, когда он передает информацию от одного процесса другому. В этом случае он сначала разбирает объект на примитивы, а затем отправляет их удаленному процессу. Так как (обычно) два действия одного приложения выполняются в одном и том же процессе, нет необходимости анализировать объект. Здесь Я обнаружил, что в вашем случае будет создана слабая ссылка на ваш объект, и она будет передана во второе действие. Если у вас есть действия в разных процессах (например, в разных приложениях), тогда ваш объект будет проанализирован и отправлен во второй процесс (и в этом случае он будет отправлен по значениям, я думаю).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...