@Override protected void onPause() { super.onPause(); stopPreview(); if (mCamera != null) { mCamera.release(); mCamera = null; } if (mRenderer != null) { mRenderer.cleanup(); } if (mRootViewGroup != null) { mRootViewGroup.removeAllViews(); } cleanup(); }
@Override protected void onResume() { super.onResume(); int screenw; int width; setContentView(R.layout.main); setTitle(getResources().getString(R.string.app_name)); setTitleColor(0xFFFF5555); init(); screenw = ((WindowManager) this.getSystemService(Context.WINDOW_SERVICE)) .getDefaultDisplay() .getWidth(); mTextDisplay[0] = (TextView) findViewById(R.id.text1); mTextDisplay[1] = (TextView) findViewById(R.id.text2); mRootViewGroup = (ViewGroup) mTextDisplay[0].getParent(); width = (screenw * 1 / 2); for (int i = 0; i < mTextDisplay.length; i++) { mTextDisplay[i].setTextColor(mTextColor); mTextDisplay[i].setWidth(width); mTextDisplay[i].setText(""); } mTextDisplay[0].setText(""); updatePreferences(); mToggleButtonStartStop = (ToggleButton) findViewById(R.id.startStopSwitch); mToggleButtonStartStop.setOnClickListener( new View.OnClickListener() { public void onClick(View view) { if (mToggleButtonStartStop.isChecked()) { startPreview(); } else { stopPreview(); } } }); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); int cameraIndex = Integer.decode( prefs.getString(getResources().getString(R.string.shared_prefs_camera_list), "0")); mCamera = Camera.open(cameraIndex); mCamSurface = new CameraSurface(this, mCamera); mRootViewGroup.addView(mCamSurface); mRenderer = new CameraSampleRenderer(this); mGLSurface = mRenderer.getGLSurfaceView(); mGLSurface.setZOrderMediaOverlay(true); mGLSurface.setVisibility(View.VISIBLE); mGLSurface.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); mRootViewGroup.addView(mGLSurface); bringControlsToFront(); startPreview(); System.gc(); }