android - 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();
请帮助或建议任何替代方案。
解决方案
如果它是所有本地android开发,你不能只使用文件路径并将它像那样传递给工人吗?
在工作人员中处理整个图像会导致此错误 - 看起来数据限制为 10kb,请在此处查看文档:
https://developer.android.com/topic/libraries/architecture/workmanager
所以你应该以某种方式引用图像,而不是传递图像本身。
推荐阅读
- mysql - Docker - 使用 sequel pro 连接到 mysql
- android - 使用 Glide 从 filesDir() 加载九个补丁
- java - 如何减少使用 mapStruct 映射 Java bean 的时间
- c++ - 字符串问题,错误:没有构造函数实例与参数列表匹配
- python - 无法通过 xcom push 获取返回值
- angular - ag-grid加载后如何禁用按钮
- javascript - 如何使用 li-name 作为 li-item 中的链接
- php - 如何仅显示用户表中排名列中值为1的用户?
- python - 如何将bash转换为python3?
- c# - 阅读时遇到死锁时如何使用实体框架重试策略