我想将视图的快照保存到文件中,但出现错误。 我的代码如下:
View decor = ***; //
int width = decor.getWidth();
int height = decor.getHeight();
Bitmap bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
decor.draw(canvas);
int bytes = bitmap.getByteCount() + 8;
ByteBuffer buffer = ByteBuffer.allocate(bytes);
buffer.putInt(width);
buffer.putInt(height);
bitmap.copyPixelsToBuffer(buffer);
byte[] array = buffer.array();
但是bitmap.copyPixelsToBuffer(缓冲区);会崩溃。
错误是这样的:
12-09 08:36:43.107:E / libEGL(14642):调用没有当前上下文的OpenGL ES API(每个线程记录一次)
此错误仅在Android 5.0上发生,新平台是否有任何更改?我知道android 5.0使用ThreadedRender渲染表面,我该如何处理这个问题?非常感谢!!!
答案 0 :(得分:0)
即使我面临同样的问题!似乎在pre-lollipop版本中,上下文泄漏并且默认使用(我假设)。但是使用棒棒糖,明确地需要创建或传递上下文!
希望这些有帮助! https://stackoverflow.com/a/27092070