当这个标志未被设置时,虚拟显示被认为是不安全的。 如果在此显示器上显示,则安全窗口的内容将被清空。
当没有内容显示时,允许内容在专用显示器上被镜像:该标志与VIRTUAL_DISPLAY_FLAG_PUBLIC一起使用。 通常,公共虚拟显示器将自动镜像默认显示的内容,如果他们没有自己的窗口的话。 当这个标志被指定时,虚拟显示器将只显示它自己的内容,如果它没有窗口,它将被消隐。该标志与VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR互斥。 如果两个标志都被指定,那么仅适用于自己内容的行为将被应用。
只要VIRTUAL_DISPLAY_FLAG_PUBLIC和VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR都没有被设置,这个标志的行为就是隐含的。 这个标志只需要在创建公共显示时覆盖默认行为。
当没有内容显示时,允许内容在专用显示器上被镜像。此标志与VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY互斥。 如果两个标志都被指定,那么仅适用于自己内容的行为将被应用。只要设置了VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY且VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY尚未设置,则此标志的行为就是隐含的。 只有在创建私人显示时,此标志才能覆盖默认行为。创建自动镜像虚拟显示需要CAPTURE_VIDEO_OUTPUT或CAPTURE_SECURE_VIDEO_OUTPUT权限。 这些权限被保留供系统组件使用,不适用于第三方应用程序。 或者,可以使用适当的MediaProjection来创建自动镜像虚拟显示。
????VirtualDisplay
????类注释:VirtualDisplay代表一个虚拟显示器,需要先用DisplayManager中的 createVirtualDisplay( )方法,将虚拟显示器的内容渲染在一个Surface空间上,当进程终止时虚拟显示器会被自动释放,并且所有的Window都会被强制移除。当不再使用的时候,应该调用release( )方法来释放资源。
????注意到其中可以使用的公用方法,同样没有几个,这太友好了。“getDisplay , getSurface , setSurface , resize , release“ 。
????getDisplay ( )
????获取虚拟的显示器。
????getSurface ( )

????获取虚拟显示器的surface。
????setSurface ( )
????设置虚拟显示器依靠的surface。移除虚拟显示器所依靠的surface相当于关闭屏幕的操作。需要手动的销毁surface。
????resize ( )
????此方法是运行应用程序使用虚拟现实器去适应改变的条件状态,而不用销毁再重建一个实例。
????release( )
????释放显示器,并且销毁其所依据的surface。
????ImageReader
????类注释:ImageReader类允许应用程序直接访问Surface图像数。据。图像数据被封装在Image中,并且可以同时访问多个图像,直到maxImages构造器参数指定的数目。发到image到ImageReader并进行排对。直到通过acquireLatestImage()或acquireNextImage()调用进行访问。由于内存限制,如果使用Imagereader的生产速率不等于释放速率,则图像将最终尝试在渲染surface时,停止或丢弃图像。这个类的公共方法太多了,标注出几个常用到的。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-58101-3.html
面粉也生虫子
是对我们暗示什么