1,904 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-19: 0回 2026-04-18: 2回 2026-04-17: 1回 2026-04-16: 1回 2026-04-15: 0回 2026-04-14: 0回 2026-04-13: 0回
