Backstory:我正在创建一个iOS应用程序,将Parse后端的数据加载到tinder风格的卡片上。数据包括图像。我正在使用这张卡片:https://github.com/cwRichardKim/TinderSimpleSwipeCards。
当应用程序首次启动时,它从数据库中提取5行并将一些卡加载到NSMutableArray中。每次向左或向右滑动卡片时,都会向该阵列添加另一张卡片。
它工作正常,但是一旦打开图像,一切都会崩溃。内存使用情况不在图表中,应用程序很快崩溃。这是图像加载的样子: Xcode Memory Debugger - 每个尖峰来自刷卡并加载图像:http://i.stack.imgur.com/ZN8kp.png
当我注释掉图像代码时,它运行正常,没有内存问题。
问题似乎是: 1)我是如何装卡的 2)我如何删除卡
我正在加载这样的卡片:
- (void)setupPhoto
{
NSString *itemId = productId;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"itemId = %@",itemId];
NSLog(@"itemId: %@",itemId);
//now let's set up the query:
PFQuery *query = [PFQuery queryWithClassName:@"dailyItems" predicate:predicate];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
PFFile *itemFile = [object objectForKey:@"itemImage"];
productPhoto.file = itemFile;
[productPhoto loadInBackground];
}];
}
操作实例:
PFImageView
,因此我可以将文件设置为PFFile 当我取出卡片时,我只想说:
[card removeFromSuperview];
我需要做些什么来控制记忆?
非常感谢你!