3

シーンにたくさんのスプライトをロードしています。COCOs2d のメモリ管理がどのように機能するかを理解しようとしています:

1) setVisible(false) はメモリから一時的に削除するのに十分ですか?

2) 大きなスプライトに 90% の透明ピクセルがある場合、このスプライトは、このスプライトが 2 倍小さいが、透明ピクセルが 10% しかない場合と同じようにメモリ内で処理されますか。透明ピクセルはメモリを占有しますか?

4

1 に答える 1

4

1) setVisible(false) はメモリから一時的に削除するのに十分ですか?

いいえ、次を使用してノードから削除する必要があります。

[sprite removeFromParentAndCleanup:YES];

2) 大きなスプライトが 90% の透明ピクセルを持っているとしましょう。このスプライトは、このスプライトが 2 倍小さくても、10% の透明ピクセルしかない場合と同じようにメモリ内で処理されますか。透明ピクセルはメモリを占有しますか?

透明度は、アルファが に設定された色である0.0ため、透明なピクセルは不透明なピクセルと同じ量のメモリを占有します。

于 2013-09-02T08:06:40.930 に答える