所以我使用安卓摄像头在安卓应用程序中拍照。大约90%的用户没有问题,但另外10%的用户得到的图片返回纯黑色或奇怪的像素混乱。
还有人看到这种行为吗?或者你知道为什么会这样吗?
实例:
布莱克:
杂乱的:

最佳答案

我也遇到过类似的问题。
简而言之,问题是:缺少数据。
如果数据流中断太长时间或意外不再可用,则位图/流会发生此情况。
另一个可能发生这种情况的例子是:下载和上传图像。
如果用户突然禁用WiFi/移动网络,则无法传输更多数据。
你最终会变成一个飞溅的图像。
图像将显示/查看正常(正常表示黑色/飞溅,仍然可见!)但在内部无效(信息丢失或损坏)。
如果不是太关键,可以尝试将所有数据移动到位图对象(bitmapfactory.decode*)中,并测试返回的位图是否为空。如果是,则数据可能已损坏。
你可以猜到,这只是解决问题的后果。
最好的办法是脚踏实地地解决问题:
确保与数据源的连接良好(足够大、坚固的缓冲区)。
尽量避免不必要的强制转换(例如从char到int)
使用正确类型的缓冲区(字符流为reader/writer,字节流为inputstream/outputstream)。

10-08 09:06
查看更多