因此,我正在使用Android相机在Android应用程序内拍照。我的用户中约有90%没有问题,但其他10%的用户会得到一张纯黑色图像或奇怪的像素混乱图像。Android - 图片回调数据返回图片,它黑色或混乱
是否有其他人看到过这种行为?或者有任何想法为什么会发生?
例子:
黑色:
混乱:
因此,我正在使用Android相机在Android应用程序内拍照。我的用户中约有90%没有问题,但其他10%的用户会得到一张纯黑色图像或奇怪的像素混乱图像。Android - 图片回调数据返回图片,它黑色或混乱
是否有其他人看到过这种行为?或者有任何想法为什么会发生?
例子:
黑色:
混乱:
我已经有过这样类似的问题。 简而言之,问题是:缺少数据。
如果数据流中断时间过长或意外无法使用,则会发生位图/流。
可能发生的另一个示例:下载和上传图像。 如果用户禁用所有突然的Wifi /移动网络,则无法传输更多数据。 你最终在一个溅起的图像。
图像将出现/视图没问题(其中好的意思是黑色/飞溅,它仍然可见!),但内部无效(缺失或损坏的信息)。
如果不是太重要,可以尝试将所有数据移动到位图对象(BitmapFactory.decode *)中,并测试返回的位图是否为空。如果是,则数据可能已损坏。
这只是解决问题的后果,你可以猜到。 更好的方法是将问题放在脚上: 确保与数据源的连接良好(足够大,粗壮的缓冲区)。 尝试避免不必要的强制转换(例如,从char到int) 使用正确类型的缓冲区(字符流的Reader/Writer或字节流的InputStream/OutputStream)。
另请检查您是否使用BitmapFactory.Options对象来生成位图。因为此对象的很少方法也会使位图损坏。
从android 4.0开始,他们将hardwareAcceleration设置为true,作为清单中的默认值。硬件加速画布不支持图片,你会得到一个黑屏...
这是常见的几个设备或只是随机发生? – Spidy 2012-01-07 02:30:35