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

안드로이드 소켓통신에서 일정시간지나면 앱이 사라집니다!

0 추천
안드로이드 소켓통신을 공부하고 있는 초보입니다
근데 서버와 접속후 테스트를 진행해보면
30분정도까지는 서로 송수신을 잘하는데 그시간이 지나면 앱이 정지된상태도 아니고
사라지고 안드로이드 스튜디오 탭에 에러내용만 표시됩니다
송수신은 타이머로 실시합니다
타이머 schedule을 2초를 설정하면 30분정도, 4초로 늘리면 1시간정도 정상적으로 송수신을하고는 동일한
현상이 발생합니다

[RUN]태그에 다음과 같은 에러가 발생합니다

E/Surface:queueBuffer:error queuing buffer to SurfaceTexture,-22

I/Adreno:QueueBuffer:queueBuffer failed

W/OpenGLRender:swapBuffers encountered EGL_BAD_SURFACE on 0x9ac067c0, halting rendering...

A/Looper:Could not create epoil instance. errno=24

Application terminated.

이상에러내용은 뭔가요?
말리지마 (140 포인트) 님이 2018년 8월 27일 질문

1개의 답변

0 추천

SurfaceTexture,-22 에서 -22는 

#define EINVAL      22  /* Invalid argument */ 를 의미하다보니,

잘못된 값이 들어가 Surface쪽에서    오류가 났다는 로그로 생각됩니다만 

로그만으로는 정확 한 원인을  알수 없습니다.  

단지 2초로 했을 때 30분 정도, 4초일 때 1시간 정도에 종료 되었다고 하시는 것을 보아선,

메모리가 쌓이다 특정 사이즈가 되면  메모리 부족으로 OOM(out of memory)이 발생하여 어플을 VM에서 종료 시키는 것으로 추측되니. 메모리 사용량을 확인해 보시는 걸 추천합니다.

 

익명사용자 님이 2018년 8월 28일 답변
...