Java で Android の Open GLES でゲームを設計しています。
明らかに、多くのテクスチャを使用しているため、すぐにメモリが不足します。
私は Android と Java にまったく慣れていませんが、この問題を回避する最も簡単な方法は、現時点では必要のないビットマップを使用してオブジェクトを破棄し、ガベージ コレクターにオブジェクトが占有していたメモリを再利用させることだと考えました。その後、それぞれのテクスチャが再び必要になった後の段階で、これらのオブジェクトを再作成します。
このようなもの:
background = null;
次に、背景オブジェクトにテクスチャが必要な場合:
background = new Background(context);
それは、コンテキスト (BitmapFactory を介してテクスチャをロードするため、クラスのバックグラウンドが機能するために必要なコンテキスト) がonDrawFrame(GL10 gl)
、メインのゲームループがあり、必要な関数に渡されないことを除いて、かなり簡単に思えます!
GL10 gl の後に 2 番目のパラメータとしてコンテキストを追加しようとすると、エラーが発生します - これは不可能のようです。
コンテキストを onDrawFrame に渡す方法、またはコンテキスト オブジェクトをメモリからクリアしてから元に戻す方法を知っている人はいますか?