我使用mtsahkis的示例在Android上实现了一个屏幕捕获系统:https://github.com/mtsahakis/MediaProjectionDemo/blob/master/src/com/mtsahakis/mediaprojectiondemo/ScreenCaptureImageActivity.java
基本实现非常有效,但我在理解如何控制屏幕截图创建速度方面遇到了问题。
我可以看到VirtualDisplay被送入一个ImageReader和一个Handler,图像阅读器附加了一个setOnImageAvailableListener,所以可能这就是限制捕获的速度,这在我的Galaxy边缘是一个不一致的1次捕获。
有没有更多使用Handler经验的人知道如何在线程上设置一致的时间吗?在创建线程时会这样做吗?
// start capture handling thread
new Thread()
{
@Override
public void run()
{
Looper.prepare();
mHandler = new Handler();
Looper.loop();
}
}.start();
最佳
史蒂夫
答案 0 :(得分:1)
我联系了媒体投影演示库的作者,他的建议是简单地将线程放在onImageAvailable监听器中,这对我的目的非常有用。
的Thread.sleep(mi_Delay);