场景转换后释放内存

时间:2015-02-20 05:00:06

标签: memory-management sprite-kit

我搜索了几个小时,但我找不到我实际上在寻找的东西..

当我从gameScene切换到menuScene时,我想释放我的记忆。 正如我读到的那样,如果我为每个场景添加一个viewController并且执行Segues而不是过渡,则是可能的。但我想保持简单,只使用一个viewController。除了第一个解决方案,可以使用UIImage而不是SKtexture。 UIImage通过转换自动释放内存,所以我尝试了,并尝试了,我最终在这里:(显然不起作用)

//Load Animations
barrierUfoAtlas = [SKTextureAtlas atlasNamed:@"BarrierUfoAnimation"];
[barrierUfoAtlas preloadWithCompletionHandler:^{

    NSArray *barrierUfoAtlasNames = [barrierUfoAtlas textureNames];
    NSArray *sortetBarrierUfoAtlasNames = [barrierUfoAtlasNames sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
    NSMutableArray *barrierUfoTextures = [NSMutableArray array];

    for (NSString *filename in sortetBarrierUfoAtlasNames) {

        NSData *imageData = [NSKeyedArchiver archivedDataWithRootObject:[barrierUfoAtlas textureNamed:filename]];

        UIImage *image = [UIImage imageWithData:imageData];

        SKTexture *texture = [SKTexture textureWithImage:image];

        [barrierUfoTextures addObject:texture];
    }
    self.barrierUfoAnimation = [SKAction animateWithTextures:barrierUfoTextures timePerFrame:0.0389];}];

有人可以帮忙吗?

0 个答案:

没有答案