我在 viewB 的 drawRect 方法中使用OLImage来加载本地 gif 图像。我使用普通ViewA
的 pushViewB
和 popViewB
反复。大约 20 次后,我的应用程序在收到几次后崩溃了。memory warnings.
我使用仪器监控内存使用情况,您可以在下面看到结果。
我加载 gif 的代码如下:
@property (weak, nonatomic) IBOutlet OLImageView *gifImageView;
if (!self.gifImageView.image) {
self.gifImageView.image = [OLImage imageNamed:@"好.gif"];
[self.gifImageView setUserInteractionEnabled:YES];
[self.gifImageView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]];
}
我在使用ARC
,我认为 gif 数据应该在ViewB
弹出时由 iOS 发布。或者至少当我的应用收到内存警告时。难道我做错了什么?或者这可能是一个更普遍的问题,即如何发布VM memory in ARC
?