-1

spriteKit で 360° ビジュアライザーのようなものを作ろうとしています。私のシーンでは、

spriteArray = [[NSMutableArray alloc] init];

そして、私はこのようにそれを埋めています:

for ( int j=0; j<stepsY+1; j++)
{
    NSMutableArray * innerArray = [[NSMutableArray alloc] init];

    for ( int i=0; i<stepsX+1; i++) {
        SKTexture *t = [SKTexture textureWithImageNamed:[NSString stringWithFormat:@"img_0_%d_%d.jpg", (stepsY-j),(stepsX-i)]];
        [innerArray addObject:t];
    }

    [spriteArray addObject:innerArray];
}

たとえば、私は 4x23 の 2 次元配列を持ちます。y 軸は 4 ステップ、x 軸は 23 ステップ。の上

- (void) touchesMoved: (NSSet *)touches withEvent:(UIEvent *)event

私は使用しています

[sprite setTexture:....];

視覚化する適切なテクスチャを設定します。

シミュレーターで実行しているときは完全に動作しますが、実際のデバイスで試してみると、spriteArray を埋めているときにアプリがクラッシュし、xcode が「メモリ エラーのために終了しました」と表示されます。だから私はシミュレータでRAMの使用をチェックし、それが巨大であることを認識しています... 1.5GB; 私のテクスチャは 1220x1220 jpg で、それぞれが約 50kb です。そのため、どこかで一種のメモリ リークが発生しているようです。

誰か助けてくれませんか?

ありがとう

4

1 に答える 1