Как передать данные более 1024 байт в Work Manager? - PullRequest
0 голосов
/ 12 апреля 2019

Я использовал Диспетчер работ для загрузки изображений на базу. Я преобразовываю класс отчета о взаимодействии в JsonString и отправляю его менеджеру работ в качестве параметра, чтобы я мог десериализовать его обратно в исходный объект и использовать URL-адрес из деталей изображения, в противном случае мне пришлось бы отправлять каждый URL-адрес. Но в некоторых случаях выдает исключение:

не может отправить данные размером более 1024 байт

Есть ли другой способ сделать это?

1 Ответ

0 голосов
/ 13 апреля 2019

Вы не можете. Это задокументированный предел класса данных WorkManager. См. https://developer.android.com/reference/androidx/work/Data,, где перечислены:

"Это облегченный контейнер, и его не следует рассматривать как хранилище данных. Таким образом, существует принудительное ограничение MAX_DATA_BYTES для сериализованного (байтового массива) размера полезных нагрузок. Этот класс будет генерировать исключения IllegalStateExceptions, если вы попытаетесь сериализовать или десериализовать после этого предела. "

...