【问题标题】:Glitchy black patches using imageWithData in a UIScrollView在 UIScrollView 中使用 imageWithData 出现故障的黑色补丁
【发布时间】:2011-03-02 23:10:46
【问题描述】:

在一个庞大的应用程序中,我一直在处理内存消耗问题。我已经摆脱了几乎所有的内存泄漏。一个部分有一个可缩放的UIScrollView 地图,它非常大:2437x1536。它在数组中的 png 之间进行选择。在我使用+imageNamed: 之前,但我听说这有时会使应用程序运行不佳,因为它可能会将图像保留在缓存中,即使您不在使用它的视图中也会消耗更多内存。现在我使用+imageWithData:。该应用程序尚未崩溃,但在第 4 次或第 5 次启动地图部分时,仅出现部分图像,并且有闪烁的黑色区域。以前使用 imageNamed 时不会发生这种情况。有时它会完全消失,只剩下一个矩形上角,然后我回到另一个视图,那里也有图像闪烁。

这是我必须显示的地图图像。它在视图的-initWithFrame: 方法中:

mapList = [[NSMutableArray alloc] init];
[mapList addObject:@"Pacific_Map"];
[mapList addObject:@"Atlantic_Map"];

NSString *mapFileLocation = [[NSBundle mainBundle] pathForResource:[map_List objectAtIndex:mapNum] ofType:@"png"];

NSData *mapIMGData = [NSData dataWithContentsOfFile:mapFileLocation];
mapImageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:mapIMGData]]; 

有什么明显的东西会导致这种效果吗?

【问题讨论】:

    标签: iphone ipad uiscrollview uiimage nsdata


    【解决方案1】:

    抱歉,我为外部屏幕分配了两次图像。这仍然最终使它崩溃。我以为我不会用这种技术缓存图像。

    【讨论】:

      猜你喜欢
      • 2020-01-15
      • 2011-02-26
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多