当我从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];}];
有人可以帮忙吗?