2017-10-10 4 views
1

기본 Adroid 앱에 대한 초보자 질문이 있습니다. 앱이 일시 중지되면 OpenGL 리소스를 무료로 제공해야합니까?기본 Android 앱이 일시 중지되면 OpenGL 리소스를 무료로 제공해야하나요?

예를 들어 QT OpenGLUnderQML sample을 기반으로하는 내 애플리케이션에서 QQuickWindow :: sceneGraphInvalidated는 Android에서 호출되지 않으며 앱이 일시 중지되어 정상적으로 작동 할 때 OpenGL 리소스를 확보하지 않습니다.

답변

0

리소스를 확보 할 때의 이점은 장치가 메모리 부족 상태에있을 때 앱을 꺼내기가 쉽지 않다는 것입니다. 또한 당신은 더 나은 시민이되고, 모두가 백그라운드에서 자원을 확보하면 훨씬 많은 앱이 백그라운드에서 즉시 살아남을 수 있습니다.

단점은 코드 작성이 번거롭고 사용자가 앱에 돌아올 때로드해야하기 때문에 약간의 시간이 걸리며 사용자 환경이 약간 더 나빠질 것입니다.

자원을 확보 할 필요가 없으며, 일반적으로 내가 작업 한 게임에서 그다지 걱정하지 않아도됩니다. 렌더링 타겟을 해제하거나 캐싱 시스템에 의해 관리되는 우선 순위가 낮은 텍스처를 플러시하는 것과 같이 때로는 약간 매달린 과일을 다룰 때가 있습니다. OpenGL 메모리 사용량의 10 ~ 20 %를 차지하는 것은 결코 아니지만 아마 메모리가 거의없는 사용자가 전자 메일이나 뭔가를 확인하기 위해 잠시 멀티 태스킹을하면 내 앱이 계속 실행되고 있음을 알 수 있습니다. .

+0

좋은 질문입니다. QQuickWindow :: sceneGraphInvalidated가 데스크톱에서는 호출되지만 안드로이드에서는 호출되지 않는 이유는 무엇입니까? – Dmitriano