Эффективность Parcelable для связи внутри процесса

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


person Michael    schedule 08.10.2010    source источник


Ответы (1)


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

person Yury    schedule 13.03.2012