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

앱이 종료되는 원인을 알 수 있을까요?

0 추천

앱이 종료가 됩니다.

아마도 메모리 부족현상으로 꺼지는 것으로 보입니다.

그런데 BITMAP RECYCLE을 해주었는데도 종료가 되서 이렇게 글을 남깁니다.

정확한 원인을 알기위해 로그캣으로 계속 관찰하였으나.. 관찰할때는 로그캣에 에러가 안나타나고,,,,

이후 앱 에러 종료창이 뜨더라구요...

계속적으로 관찰을 하고 있습니다...

04-19 08:30:39.327: I/art(23507): Background sticky concurrent mark sweep GC freed 319397(11MB) AllocSpace objects, 4(60KB) LOS objects, 14% free, 71MB/83MB, paused 2.277ms total 102.511ms
04-19 08:32:51.303: I/art(23507): Background sticky concurrent mark sweep GC freed 293054(10MB) AllocSpace objects, 0(0B) LOS objects, 12% free, 72MB/83MB, paused 1.987ms total 112.014ms
04-19 08:34:47.303: I/art(23507): Background sticky concurrent mark sweep GC freed 257473(9MB) AllocSpace objects, 0(0B) LOS objects, 11% free, 74MB/83MB, paused 2.432ms total 146.766ms
04-19 08:37:57.281: I/art(23507): Background sticky concurrent mark sweep GC freed 197523(7MB) AllocSpace objects, 0(0B) LOS objects, 8% free, 76MB/83MB, paused 2.394ms total 118.115ms
04-19 08:41:23.263: I/art(23507): Background sticky concurrent mark sweep GC freed 132434(4MB) AllocSpace objects, 0(0B) LOS objects, 5% free, 78MB/83MB, paused 2.283ms total 113.336ms
04-19 08:47:39.206: I/art(23507): WaitForGcToComplete blocked for 12.906ms for cause HeapTrim
04-19 08:47:56.175: I/art(23507): Background sticky concurrent mark sweep GC freed 5019(186KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 83MB/83MB, paused 5.750ms total 40.136ms
04-19 08:48:01.177: I/art(23507): Background sticky concurrent mark sweep GC freed 2868(105KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 83MB/83MB, paused 5.395ms total 36.309ms
04-19 08:48:02.184: I/art(23507): Background sticky concurrent mark sweep GC freed 2347(87KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 83MB/83MB, paused 6.394ms total 37.202ms
04-19 08:48:03.177: I/art(23507): Background sticky concurrent mark sweep GC freed 1920(71KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 83MB/83MB, paused 6.331ms total 32.974ms
04-19 08:48:05.184: I/art(23507): Background sticky concurrent mark sweep GC freed 497(17KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 83MB/83MB, paused 6.600ms total 39.006ms

 

현재 계속적으로 찍히는 로그캣 이고요...

mainactivity에서 bitmap 리사이클을 해주고 있습니다.

layout의 백그라운드 이미지를 전체크기의 화면으로 해서 아마 bitmap 메모리 누수가 일어나는 것으로 판단이 되는데... 정확한 원인을 잘 모르겠습니다.

최근 갤럭시 노트5, 갤럭시 A7에서는 에러는 발생하지 않았는데.

구형폰 갤럭시 S4, LG Gpro2, LG G2에서는 발생이 하더라구요..

조금이나마 도움이 될만한 정보를 주시면 감사하겠습니다.

	@Override
	protected void onDestroy() {
		
		super.onDestroy();
		recycleView((LinearLayout)findViewById(R.id.bt_state));
		Log.d(TAG, "# Activity - onDestroy()");

	}
	
	private void recycleView(View view){
		if(view !=null){
			Drawable bg = view.getBackground();
			if(bg!=null){
				bg.setCallback(null);
				((BitmapDrawable)bg).getBitmap().recycle();
				view.setBackgroundDrawable(null);
			}
		}
	}

 

쿠쿠부다스 (6,470 포인트) 님이 2017년 4월 19일 질문

1개의 답변

0 추천
종료될 때 로그캣 메시지를 봐야 알 것 같네요.
익명사용자 님이 2017년 4월 19일 답변
그렇죠... 근데 몇일째 USB연결을 해제하고난이후 지나서 발생을 하더라구요 ㅠㅠ 참 아이러니하게요 ㅎㅎ 답변감사합니다.
...