onCreate() 함수 안에 아래 소스추가.
RelativeLayout layout = (RelativeLayout)findViewById(R.id.cg); // 레이아웃 형태는 사용하는 레이아웃으로 바꿔쓰면 된다. cg는 레이아웃에 선언한 아이디이다.
layout.setBackground(new BitmapDrawable(getResources(), BitmapFactory.decodeResource(getResources(), R.drawable.bg_gamepad_0031))); // 해당 레이아웃의 배경 이미지를 그리는데 그릴 이미지를 불러오면 된다.
아래와 같이 소스를 추가.
개발하는 환경에 따라 onStop() 함수는 onDestroy()나 onPause()함수를 적절히 사용해 준다.
@Override
public void onStop() {
super.onStop();
recycleView(findViewById(R.id.io));
}
@SuppressLint("NewApi")
private void recycleView(View view) {
if(view != null) {
Drawable bg = view.getBackground();
if(bg != null) {
bg.setCallback(null);
((BitmapDrawable)bg).getBitmap().recycle();
view.setBackground(null);
}
}
}
반드시 위와 같이 new로 복사본을 새로 생성해서 사용해야 메모리도 적게 먹고 recycle도 할수 있어서 OutOfMemoryError를 예방할 수 있다고 한다.
'정보기술, IT > IT source' 카테고리의 다른 글
Android activity 스택(stack) 확인하는 방법 (0) | 2014.08.29 |
---|---|
android manifest에서 version code와 name 알아보기. (0) | 2014.08.27 |
Android onPreExecute() -> doInBackground() -> onPostExecute() (0) | 2014.08.26 |
spring schedule 실행주기 표현식 (0) | 2014.05.09 |
Redis - Master & Slave server 설정잡기, Sentinel tool로 모니터링 하기. (0) | 2014.04.18 |