티스토리 뷰
GLSurfaceView를 상속받은 View 에서 화면 회전시 onPause 등을 타면서 발생한다
LLDB 가 안붙은 java debugging 환경에서는 그냥 activity가 재시작되는 것처럼 보이는데,
jni 소스로 인해 LLDB가 있으면 sigsegv가 계속 발생함.
화면 회전시 onPause가 불리는 이유는,
https://aroundck.tistory.com/36
위 링크에서 언급된것 처럼
configure 설정을 빼먹어서, 기본 정해진 동작대로 activity 가 재시작되기 떄문
아래도 비슷,
Add android:configChanges="orientation|screenSize" to your Activity in AndroidManifest.xml and you will be fine.
어느 극단주의자는,
<activity android:name="your.package.name.YourActivity" android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|uiMode|screenSize|smallestScreenSize" android:screenOrientation="landscape">
예전에 할때는 아래와 같이 로그가 나왔던거 같은데; 왜 이젠 로그도 없나
그런데 대체 왜 저걸 빼먹으면 안에서 죽게되는 걸까?
대략, 저때는 Surface 쪽에서 에러검출용 코드로 fill 된 address 참조하는 것이고
나의 경우는 0x0 을 참고해서 죽는 듯
대략, 다른 샘플을 참조하다가 원인을 알았다
AppCompatActivity 와 Theme / Style 이 설정된 샘플에서만 문제가 발생했다,
그냥 Activity로 바꾸니까 문제가 사라짐
집에서, Hello JNI 로 테스트 하다가 특정 버전에서는 문제 없는 것을 발견
2개다 낮은 버전으로 하면 문제가 없다.
이거 적고나니까 예전에 관련 문제 stackoverflow나 bug report에서 본거 같은데...
테스트 타겟은 samsung SM-G950N.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크