写真フォルダ内の画像で占有されている総容量を計算しようとしています。私は次のようにコードを書いています。私は正常に画像を取得することができていますが、このコードでは、2つの問題がある -ios - 写真フォルダ内の総画像サイズを計算する
写真が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を使ってメモリを消費しているのを確認しましたか? –
はい、前後しながら、私は漏れをチェックするためにメモリを実行しました。正確なポイント – Shohrab