2017-10-10 14 views
1

私は、Adroidのネイティブアプリについてちょっとした初心者の質問があります。アプリケーションが中断されたときにOpenGLリソースを解放する必要がありますか?ネイティブAndroidアプリは、サスペンド時にOpenGLリソースを無料で使用する必要がありますか?

例えば、QT OpenGLUnderQML sampleに基づく私のアプリケーションでは、QQuickWindow :: sceneGraphInvalidatedはAndroidでは呼び出されず、アプリケーションは中断されて正常に動作するときにOpenGLリソースを解放しません。

答えて

0

リソースを解放する利点は、デバイスがメモリ不足のときにアプリが排出される可能性が低いことです。また、あなたがより良い市民になりつつあり、誰もがそのリソースをバックグラウンドで解放すれば、はるかに多くのアプリがバックグラウンドで一度に生き続けることができます。

不利な点はコード作成が面倒で、ユーザーがアプリに戻ったときに読み込みを行う必要があるため、時間がかかり、ユーザーエクスペリエンスが若干悪くなることです。

リソースを解放する必要はありません。私が取り組んできたゲームでは、一般的に心配していません。レンダリングターゲットを解放したり、キャッシングシステムによって管理される低優先度のテクスチャをフラッシュしたりするような、いくつかの低懸念の果物を扱うことがあります。おそらく、OpenGLのメモリ占有量の10〜20%を占めることは決してないだろうが、メモリをほとんど使わないユーザーは、自分の電子メールや何かを一瞬チェックするマルチタスク。

+0

良い答えですが、QQuickWindow :: sceneGraphInvalidatedがデスクトップで呼び出されても、Androidでは呼び出されないのはなぜですか? – Dmitriano

関連する問題