我有一个应用程序设置,能够捕获屏幕内容。然而,偶尔会从aquireLatestImage返回
我很想知道是什么原因导致没有可用的图像数据?
编辑:据我所知,这在LG设备上最频繁发生…
编辑2:我遇到的情况是先前返回有效图像值后返回空值。并且它继续返回空值。对于非LG设备,偶尔会返回null。对于LG设备,似乎一旦返回一个null,其余的值都将为空。
编辑3:包括一些代码
null
值。文档说如果没有可用的图像数据,它将返回“null”。我很想知道是什么原因导致没有可用的图像数据?
编辑:据我所知,这在LG设备上最频繁发生…
编辑2:我遇到的情况是先前返回有效图像值后返回空值。并且它继续返回空值。对于非LG设备,偶尔会返回null。对于LG设备,似乎一旦返回一个null,其余的值都将为空。
编辑3:包括一些代码
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics );
ImageReader imageReader = ImageReader.newInstance(displayMetrics.widthPixels, displayMetrics.heightPixels, PixelFormat.RGBA_8888, 2);
virtualDisplay = mediaProjection.createVirtualDisplay("NetCountableVirtualDisplay",
displayMetrics.widthPixels,
displayMetrics.heightPixels,
displayMetrics.densityDpi,
DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC,
imageReader.getSurface(),
null,
null);
ImageReader
对象的代码吗?传递给newInstance
方法的参数,如maxImages
,可能很重要。 - pleft