我想要代码在我的应用程序中捕获24fps,任何建议......?

时间:2014-08-18 06:36:15

标签: android screen-capture

我正在尝试捕获24fps的屏幕根视图。我需要一个代码来执行它。我尝试过捕获屏幕的常规方法,但一次捕获24fps会减慢我的应用程序。 是否有任何方法可以这样做,如果是,请给我答案。

1 个答案:

答案 0 :(得分:0)

由于此机制不是内置功能,因此您可能无法获得良好的24fps 话虽这么说,你可以尝试下面的内容,看看你得到多少fps:

public class ContinuousScreenshotTask extends AsyncTask<Void, Bitmap, Void> {
    View view;
    Context context;
    Bitmap bitmap;
    Canvas canvas;

    public ContinuousScreenshotTask(View view) {
        this.view = view;
        this.context = this.view.getContext().getApplicationContext();
        bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
        canvas = new Canvas(bitmap);
    }

    @Override
    protected Void doInBackground(Void... params) {
        while (!isCancelled()) {
            view.draw(canvas);
            saveBitmap(context, bitmap);
        }
        return null;
    }

    @Override
    protected void onProgressUpdate(Bitmap... values) {
        super.onProgressUpdate(values);
        // do something more on the UI thread?
    }
}

我设法获得20 fps而不将位图保存到内部存储,并且在启用保存时只有3 fps。
也许你可以分享你的方法,看看它是如何改进的。