iOS 废弃内存 VM : Image IO

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

我有这样的问题。我正在开发一个 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]];
}

最佳答案

编辑:我刚刚注意到这个问题已有 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

关于iOS 废弃内存 VM : Image IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23340305/

相关文章:

ASP.NET 表单例份验证在 iPad 上不断显示登录页面

ios - UISwipeGestureRecognizer 干扰 slider

ipad - UIViewController interfaceOrientation总是相同的值

ios - 无法访问属性的值

ios - 通过 APNS 无循环发送多个 Iphone 通知

objective-c - 当用户按键盘上的 Command + 句点时如何退出循环

iOS Objective c - 在用户登录后将 uiviewcontroller 设置为 feed 屏幕,然后重新启动应用程序

objective-c - 跨不同平台管理 iOS 应用程序

ios - UIVideoEditorController 在 iPad 上崩溃

ios - 错误 : Argument passed to call that takes no arguments