it leader
article thumbnail

ngui_android_crash








유니티 apk를 실행중 씬 이동 시 앱이 비정상적으로 종료되는 현상이 발생하여

로그를 뒤져보니





fatal_signal_11_unity_crash




Fatal signal 11  이라는 에러 메세지가 떳다.

검색결과 Fatal siganl11  유니티 3.x 때부터 이어온 고질적인 버그인거 같은데.. 

포럼에서도 해결방법을 모르고 있었다.. 메모리 릭이라는 의견이 분분한 상황


특히 씬 이동 중에 앱이 종료되어 버리니... 어떤 앱던 이런 상황이 발생하게 되면

난감할 뿐이다.

로그에서도 답을 찾기 어렵고.. 메모리 문제, profiler를 아무리 뚫어져라 쳐다봐도

도저히 에러원인을 모르는 상황...

기능적으로 접근해보앗다.

씬전환시 어떤 점들이 바뀌는지...

다행이었던것은 나는 NGUI 와 UGUI를 혼용하여 사용하고 있었다.

씬이 전환될때 NGUI에서 바뀐 씬에서는 UGUI로 사용하고 있었던 상황

NGUI crash에 대해 검색해보니 역시!!!


NGUI 3.x 버전 대에서 crash가 발생하고 있다는 정보 입수!!!

그렇다고 3.11.1 최신버전으로 업그레이드를 해보자니 좀 무리수 인듯 싶어

다시 구글링, 구글링..... 무한 구글링....

UIDrawcall.cs 이 신버젼으로 바뀌면서 코드가 수정되었다는 정보를 찾았다.

바로 적용!!!


이럴수가... 이렇게 쉽게 해결되다니 ㅠㅠ

이것때문에 삽질했던 노고가 눈녹듯이 사라지는 순간이었다.


스펙은 

안드로이드 4.4( kitkat ) API level 19 
Ngui 3.8.0

Test Device
Samsung Galaxy Note4
Xiaomi Redmi Note
LG G3
ETC








바뀐부분은 아래와 같다.

UpdateGeometry() 함수를 찾아서 그 안에

아래 4줄을 추가 해주면 끝!!


public void UpdateGeometry (int widgetCount)
{
if (panel == null) {
return;
}












삽질이 힘들고 짜증나지만, 많은 걸 깨닿게 해주는것 같다.

추후에, logcat 으로 로그보는 법, crash detecting 해주는 플로그인 등등 

짬나는 대로 정리해서 올릴 예정...













profile

it leader

@dev__pixui

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!