アプリの流れ、メモ書き【2013/11/11】

おおまかな処理の流れ
図1.処理の流れ
http://www.atmarkit.co.jp/ait/articles/1110/24/news120_2.html#l_r1305.gif より引用
アプリが起動すると最初に、
jp.androidgroup.nyartoolkit.NyARToolkitAndroidActivity.java.onCreate()
が呼ばれる。
アプリは AndroidManifest.xml で指定された Activity 継承クラスの onCreate()が最初に呼ばれる。
[onCreate]
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// min3D の初期化
_initSceneHander = new Handler();
_updateSceneHander = new Handler();
// These 4 lines are important.
//3D レンダー準備
Shared.context(this);
scene = new Scene(this);
scene.backgroundTransparent(true);
mRenderer = new Renderer(scene);
Shared.renderer(mRenderer);
//プログレスバーの表示
requestWindowFeature(Window.FEATURE_PROGRESS);
//window のオプション設定
Window win = getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
win.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
//メインレイアウト設定
setContentView(R.layout.main);
//カメラ出力のデータ領域確保
mSurfaceView = (SurfaceView) findViewById(R.id.camera_preview);
mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
mSurfaceView.setKeepScreenOn(true);
// don't set mSurfaceHolder here. We have it set ONLY within
// surfaceChanged / surfaceDestroyed, other parts of the code
// assume that when it is set, the surface is also set.
SurfaceHolder holder = mSurfaceView.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
レンダリングエンジンは min3D を利用している。