cocos2d-x ] 홈키로 어플 나왔다가 들어갔을 때 로딩 긴 이유 해결
Programing/cocos2d-x 2014. 3. 24. 11:42 |안드로이드는 홈키나 전화 받을 때 라이프 사이클로 인해
onPause()과 onResume() 함수가 호출된다.
이것들이 호출되면 화면상에 보여지고 있는 텍스쳐를 다 날려버리고
다시 로딩한다.
그래서 홈키로 인해 나갔다가 다시 들어가면 로딩시간이 길어지게 된다.
해결 방안으로는
CoCos2dxGLSurfaceView.java에서
@Override
public void onResume() {
//super.onResume();
this.queueEvent(new Runnable() {
@Override
public void run() {
Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleOnResume();
}
});
}
@Override
public void onPause() {
this.queueEvent(new Runnable() {
@Override
public void run() {
Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleOnPause();
}
});
//super.onPause();
}
super.onResume(), super.onPause() 호출 하는 부분을 주석 처리하면
홈키 눌렸다가 들어가도 전혀 로딩시간이 필요가 없다,
다시 로딩을 안하니 테스트로 하루종일 해봤으나 별 문제가 없어 보이나
추천하지 않는다. 왠지 불안하니깐.
그래서 더 찾아보니
안드로이드 3.0 이상 부터 지원하는 함수 하나가 추가가 되어 있었다.
setPreserveEGLContextOnPause 이 함수이다.
이함수에서 setPreserveEGLContextOnPaus(true); 로 셋팅하면
텍스쳐를 날려버리지 않고 들고 있게된다.
'Programing > cocos2d-x' 카테고리의 다른 글
cocos2d-x ] 최상위 레이어만 터치 이벤트 발생시키기 (0) | 2014.04.08 |
---|---|
cocos2d-x ] 가상키패드에서 백키 이벤트 받아오기 (0) | 2014.03.25 |
cocos2d-x ] 사용자폰트 로드시 뻗는 현상 (0) | 2014.03.24 |
cocos2d-x ] 안드로이드 새로운 키패드 타입 셋팅 (0) | 2014.03.17 |
cocos2d-x Jni 통신 Java -> C++ (0) | 2012.10.24 |