Android ゲームを作成していて、問題が発生しました。OpenGLスレッドとゲームループの2つのスレッドがあります。レンダリング可能なオブジェクトを格納するために ArrayLists を使用していますが、ここに問題があります。ゲームスレッドでこれらのオブジェクトを削除する必要がある場合があり、OpenGL スレッドが NullPointerException を取得することがあります。これは、私が理解しているように、コレクションを通過して突然要素が削除されるためです。OpenGL スレッドにオブジェクトを削除させるべきだと思いますが、他の解決策はありますか?また、ゲーム ループが null 要素を取得し始めた場合はどうなりますか? 「同期」がどのように機能するかはまだわかりませんが、どうにかしてスレッドを同期させることができるかもしれません。ありがとう。
これは役に立ちますか?そして、ArrayList を使って何かをする場所ならどこにでも配置する必要がありますか?
synchronized (arrayListName)
{
arrayListName.remove(object);
}