iOS废弃内存VM: 图像IO

3
我有一个这样的问题。我正在开发一款iPad应用程序,实际上使用了许多图片和核心动画效果。我没有泄漏但我有内存问题。我的内存稳定增长。我已禁用动画,这些动画实际上使用了相当多的内存,但我仍然有内存增长的问题。对于动画,我使用http://markpospesel.wordpress.com/2012/05/07/mpfoldtransition/。我已经替换了UIImage类中诸如“imageNamed:”等加载方法的实现。但仍然没有帮助。
如果任何人有任何想法,请帮忙。
感谢大家。 Instruments screenshot
+ (UIImage *)imageNamed:(NSString *)name {
    NSString *pathExtension = [name pathExtension];
    name = [name stringByDeletingPathExtension];
    if ([pathExtension isEqualToString:@""]) {
        pathExtension = @"png";
    }

    NSString *sufix = [BMKAppUtilites isRetina] ?  @"@2x" : @"";
    name = [name stringByAppendingString:sufix];
    name = [name stringByAppendingPathExtension:pathExtension];

    name = [[NSBundle mainBundle] pathForResource:[name stringByDeletingPathExtension] ofType:[name pathExtension]];
    return [[self alloc] initWithData:[NSData dataWithContentsOfFile:name options:NSDataReadingUncached error:NULL] scale:[BMKAppUtilites scaleFactor]];
}
1个回答

1

编辑:我刚刚注意到这个问题已经超过6年了。

看起来似乎仍然有一些东西对您的图像有强引用。根据您展示的数据,我建议您最好在Xcode中运行并在内存图中暂停,以查看哪个对象具有强引用。不要忘记在方案中打开malloc堆栈跟踪,以便获取分配内存的跟踪信息。祝你好运。

如果您从未使用过Xcode内存图,则此链接可能有所帮助: https://developer.apple.com/documentation/xcode/improving_your_app_s_performance/reducing_your_app_s_memory_use/gathering_information_about_memory_use


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接