(12) アプリのフォーカスON/OFFに合わせてOpenGLをResume/Pause

投稿者: | 2018年10月1日

1,905 views

この記事は最終更新から 2756日 が経過しています。

1. やりたいこと

OpenGLは画像処理に GPUを使用する。

すなわち、バッテリーで動作しているスマホにとっては消費電力が気になる。

そこで、以下のようにしたい。
・他アプリがフォーカスを得て、自アプリが非アクティブになった時、OpenGL制御を止めたい。
・自アプリがフォーカスを得て、アクティブになった時、OpenGL制御を動かしたい。

今回はこれを実装してみる。

2. やってみる!

Activityでフォーカス ON/OFFのイベントを捕捉し、GLSurfaceViewに対して ON/OFFを指示する。

具体的には下記の onPause(), onResume() に書いた通り。

package net.dogrow.www.opengltest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    MyGLView m_glView;

    @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        m_glView = new MyGLView(this);
        setContentView(m_glView);
    }

    @Override protected void onPause() {
        super.onPause();
        m_glView.onPause();   //★ Viewの onPause()をコール
    }

    @Override protected void onResume() {
        super.onResume();
        m_glView.onResume();   //★ Viewの onResume()をコール
    }
}

アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済
  • 2026-04-20: 0回
  • 2026-04-19: 0回
  • 2026-04-18: 2回
  • 2026-04-17: 1回
  • 2026-04-16: 1回
  • 2026-04-15: 0回
  • 2026-04-14: 0回
  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です


    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)