iOS 手机清理文件

2021-04-21  本文已影响0人  FengINC

相似如何图片查找:

NSMutableArray<OSTuple<OSImageId *, NSData *> *> *dataArr = [NSMutableArray new];

    for(inti =0; i < [allDatascount]; i++) {

        OSTuple *tuple = [OSTupletupleWithFirst:requestIDArray[i]andSecond:allDatas[i]];

        [dataArraddObject:tuple];

    }

    // 计算代码运行时间

//    CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent();

    //截图加载

    //[self getAllAlbumImageFromPhotoJieTuData];

    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

    dispatch_async(queue, ^{

    //添加图片耗时操作

    self.allSimilarImages = [[OSImageHashing sharedInstance] similarImagesWithHashingQuality:OSImageHashingQualityHigh forImages:dataArr];

    //图片大小

        //float allImageSize = 0;

        NSDictionary<OSImageId *, NSSet<OSImageId *> *> *dict = [[OSImageHashing sharedInstance] dictionaryFromSimilarImagesResult:self.allSimilarImages];

        NSMutableArray *all = [NSMutableArray array];

        NSArray*keys = [dictallKeys];

        for(inti =0; i < [dictcount]; i++) {

            NSMutableArray *sub = [NSMutableArray array];

            [subaddObject:keys[i]];

            NSSet*set = [dictobjectForKey:keys[i]];

            NSEnumerator*enumerator = [setobjectEnumerator];

            NSString*value;

            while((value = [enumeratornextObject])) {

                [subaddObject:value];

                PHFetchResult*result = [PHAssetfetchAssetsWithLocalIdentifiers:@[value]options:nil];

                // 根据获取的results 来获取相应的asset(此时的asset是完整的)

                [resultenumerateObjectsUsingBlock:^(id_Nonnullobj,NSUIntegeridx,BOOL*_Nonnullstop) {

                    PHAsset*imageAsset = obj;

                    [[PHImageManagerdefaultManager]requestImageDataForAsset:imageAssetoptions:nilresultHandler:^(NSData*_NullableimageData,NSString*_NullabledataUTI,UIImageOrientationorientation,NSDictionary*_Nullableinfo) {

                              NSIntegerlength = imageData.length;  // 图片大小,单位B

                        self.allImageSize=self.allImageSize+(float)(length/1024);

                              //self.allAlbumImageSize =self.allAlbumImageSize+ (float)(length/1024);

                              //      NSLog(@"size of asset in bytes: %0.2f", self.selectFileSize);

                              //self.fileSizelabel.text = [NSString stringWithFormat:@"Send file size:% 0.2fM",self.selectFileSize/1024];

                             }];

                }];

            }

            [alladdObject:sub];

        }

上一篇 下一篇

猜你喜欢

热点阅读