我在viewB的drawRect方法中使用OLImage来加载本地gif图像。我使用普通ViewA
来推送ViewB
,并反复弹出ViewB
。大约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
,我认为当ViewB
弹出时,iOS应该发布gif数据。或者至少在我的应用程序收到内存警告时。
难道我做错了什么?
或者这可以是如何释放VM memory in ARC
的更一般的问题?