【发布时间】:2016-08-16 20:27:48
【问题描述】:
我正在尝试计算照片文件夹中图像的总存储空间。我编写了如下代码。我能够成功获取图像,但此代码有两个问题 -
如果照片有超过 7000 张图片,有时应用程序会崩溃。从,记录我 了解它的内存问题。
如果我多次来回运行此代码,在 6-7 次后应用程序会崩溃。
任何想法都会非常有帮助。我需要单独计算视频和歌曲的存储空间
-(void)getPhotoSize{
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[_allPhotos enumerateObjectsUsingBlock:^(PHAsset *asset, NSUInteger idx, BOOL *stop) {
if (idx<_allPhotos.count&&asset) {
[[PHImageManager defaultManager] requestImageDataForAsset:asset options:nil resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
float imageSize = imageData.length;
imageSize = imageSize;
data.totalPictureSize+=imageSize;
_currentPhotoAsset=asset;
}];
}
}];
});
}
【问题讨论】:
-
你试过用 Instruments 运行看看是什么消耗了内存吗?
-
是的,在来回操作时,我运行内存来检查泄漏。但无法找出确切的点
标签: ios objective-c storage objective-c-blocks