您尝试存储的数据大小
setValue()可能太大,很可能是由位图数据引起的。
可以使用Parcels在Android组件之间传递数据,但数据量限制为1MB。该TransactionTooLargeException发生,因为一些组件,你的任何一个或火力地堡组件处理您的请求之一,尝试发送包含超过1MB的数据包裹。您看到的垃圾收集重复运行的报告是您处理正在请求大量内存的另一个指示。
这个新问题是否意味着您不再需要其他问题的帮助?如果是这样,请取消赏金。
TVSet.compressImage()针对您的其他问题发布的代码中的方法表明您正在对全尺寸图像进行base64编码并存储结果。这是您希望存储在数据库中的数据的一部分。这不是FirebaseDatabase的最佳用法。考虑使用FirebaseStorage来存储仅具有文件名或其他标识密钥存储在数据库中的图像。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)