首页 > 解决方案 > java.lang.IllegalStateException: 序列化时数据占用不能超过10240字节

问题描述

我想使用 WorkManager 处理图像。向工作经理发送字节数组时出错。

java.lang.IllegalStateException: 序列化时数据占用不能超过10240字节

下面是我的代码:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] ImgData = stream.toByteArray();
Data data = new Data.Builder()
            .putByteArray("ByteArrayData",ImgData)
            .build();

请帮助或建议任何替代方案。

标签: androidandroid-jetpack

解决方案


如果它是所有本地android开发,你不能只使用文件路径并将它像那样传递给工人吗?

在工作人员中处理整个图像会导致此错误 - 看起来数据限制为 10kb,请在此处查看文档:

https://developer.android.com/topic/libraries/architecture/workmanager

所以你应该以某种方式引用图像,而不是传递图像本身。


推荐阅读