我有这样的问题。我正在开发一个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]];
}
答案 0 :(得分:1)
edit:我刚刚注意到这个问题已经超过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