마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

앱이 버튼을 실행시키고 일을 할때마다 계속 램사용량이 커집니다. 이걸 해결할수 있는방법이 어떤방법이 있을까요?

0 추천
destory에서 모든변수를 릴리즈 시켜주는 방법이 있나요?

그리고 스플래쉬 화면에서 화면 전체로 이미지를 넣어줫는데 여기서 메모리를 40메가정도 잡아먹습니다. 메모리 최소화로 적용시킬 방법이 있을까요?

스플래쉬 화면은 apptheme으로 배경으로 주고 3초후에 넘어가는 timer작동시켯습니다.
익명사용자 님이 2016년 7월 6일 질문

1개의 답변

0 추천
 
채택된 답변
destory에서 imageview에 바인딩된 Bitmap을 recycle()해서 바로 메모리에서 해제하시면 됩니다. 예제는 아래와 같습니다.

ImageView imageView = (ImageView)findViewById(R.id.my_image);
Drawable drawable = imageView.getDrawable();
if (drawable instanceof BitmapDrawable) {
    BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
    Bitmap bitmap = bitmapDrawable.getBitmap();
    bitmap.recycle();
}
mcsong (44,040 포인트) 님이 2016년 7월 7일 답변
혹시 background로 바인딩 된 비트맵은 어떻게 제거하나요?
그래도 Ram 사용량은 그대로 입니다. ...
어떻게 구현을 하셨는지 모르니.. 명확하게 답을 해 드릴 수는 없구요.. 혹시 모르니, http://sjava.net/2016/05/%EB%B2%88%EC%97%AD-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%95%B1%EC%9D%B4-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%88%84%EC%88%98leak%EB%A5%BC-%EB%A7%8C%EB%93%9C%EB%8A%94-8%EA%B0%80%EC%A7%80/ 참고해 보세요.. 메모리 릭을 내는 전형적인 형태에 대한 내용입니다.
...