169 похожих чатов

Привет, подскажите, какой размер у Bundle в android (в гугле

конкретного ответа не нашел. Нашел только что общий размер всех бандлов на процесс 1 мб)?

18 ответов

24 просмотра

При попытке передать черех него объект больше 1мб будет вылет "слишком большая трвнзакция" Но он может случиться и раньше, на 50кб уже.

Bundle ограничен только размером памяти.

Dmitry-Aleksandrovich Автор вопроса
Seva
Bundle ограничен только размером памяти.

Размером оперативной памяти выделяемой процессу приложения?

Dmitry Aleksandrovich
Размером оперативной памяти выделяемой процессу пр...

Я так думаю, что не это интересует. Память выделяется так же как и любому другому объекту. Так что формулируйте вопрос точнее.

Dmitry-Aleksandrovich Автор вопроса
Seva
Я так думаю, что не это интересует. Память выделяе...

Могу ли я класть объекты в бандл размером 3, 5, 10 мегабайт?

Dmitry Aleksandrovich
Могу ли я класть объекты в бандл размером 3, 5, 10...

Класть можешь, но переслать такой бандл не получится.

Dmitry-Aleksandrovich Автор вопроса
Dmitry-Aleksandrovich Автор вопроса
Mike (деньги не клянчу)
Да.

Благодарю, понял

Dmitry Aleksandrovich
Могу ли я класть объекты в бандл размером 3, 5, 10...

Если так ставить вопрос, то да. Это ж обычный объект. Но вы все тут так задаете вопросы, что радостно потом находите ответы на другой вопрос и обвиняете правильно ответившего, что он не прав и писаете кипятком. Вы-то хотели, видимо вот этого? https://developer.android.com/reference/android/os/TransactionTooLargeException.html The Binder transaction buffer has a limited fixed size, currently 1MB, which is shared by all transactions in progress for the process. Consequently this exception can be thrown when there are many transactions in progress even when most of the individual transactions are of moderate size.

Dmitry-Aleksandrovich Автор вопроса
Seva
Если так ставить вопрос, то да. Это ж обычный объе...

Я никого не обвиняю, всем спасибо за ответы, я просто не совсем понял то, что нашел в Гугле (как раз то, что вы скинули) и решил тут уточнить

Mike (деньги не клянчу)
Класть можешь, но переслать такой бандл не получит...

Смотря куда посылать. Через Binder много не переслать. А, например, в onSaveInstanceState можно и полгигабайта сохранять и восстанаваливать. И это тоже Bundle.

Seva
Смотря куда посылать. Через Binder много не пересл...

Так у бандла же ограничен объем как ты туда полгигабайта зальешь

Dmitry-Aleksandrovich Автор вопроса
Seva
Смотря куда посылать. Через Binder много не пересл...

А Binder выполняет транзакции между процессами? А для обычных транзакций, например, при навигации во фрагмент я в аргументы передам бандл 10 мб, то будет норм?

Dmitry Aleksandrovich
А Binder выполняет транзакции между процессами? А ...

Ну, попробуй. Расскажешь тут. Просто это никому нафиг не надо. Есть масса более удобных способов передавать данные.

Dmitry Aleksandrovich
А Binder выполняет транзакции между процессами? А ...

Между процессами и через интенты - через Биндер.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта