【问题标题】:iOS Abandoned memory VM: Image IOiOS 废弃内存 VM:图像 IO
【发布时间】:2014-06-13 22:52:43
【问题描述】:

我有这样的问题。我正在开发一个 iPad 应用程序,它实际上使用了很多图像和核心动画内容。我没有泄漏,但我已经放弃了内存问题。我有稳定的记忆增长。我禁用了实际上使用大量内存的动画,但内存增长仍然存在问题。对于动画,我使用http://markpospesel.wordpress.com/2012/05/07/mpfoldtransition/。我已经将 UIImage 类中此类加载方法的实现替换为“imageNamed:”等。但它仍然没有帮助。

如果有人有任何想法,请提供帮助。

感谢大家。

+ (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]];
}

【问题讨论】:

    标签: ios objective-c ipad memory-management abandoned-memory


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-13
      • 2014-02-01
      • 1970-01-01
      • 2012-02-29
      • 2012-06-17
      • 2019-03-21
      • 2011-04-23
      相关资源
      最近更新 更多