0

单击按钮我在 ios 中使用 assestlibrary 框架获取图像,并获取了所有图像,但单击按钮超过 2-3 次,由于检索到 150 多张照片,应用程序变慢或崩溃。有没有这样的代码我可以获取照片库图像的图像路径或缓存,以便应用程序顺利运行?

4

1 回答 1

0

我遇到过同样的问题。最后,我们将 ALAssetUrl 保存在一个数组中,而不是将图像存储在内存中。因此,每当您想使用图像时,您都可以使用其 url 将其从资产库中拉出。

-(void)storeAssetInArray:(ALAsset *)asset {
    _assetArray = [[NSMutableArray alloc] init];
    [_assetArray addObject:[asset valueForProperty:ALAssetPropertyURLs]];
}

-(void)getImageBackOut {
    [ALAssetsLibrary assetForURL:[_assetArray objectAtIndex:0] resultBlock:^(ALAsset *asset) {
        if (asset) {
            [self getTheImage:uploadImage Asset:asset];
        }
    } failureBlock:^(NSError *error){
        //Failed to get asset
    } ];
}

-(void)getTheImage:(UploadImage *)uploadImage Asset:(ALAsset *)asset {
    UIImage *image = [UIImage imageWithCGImage:[[asset defaultRepresentation] fullResolutionImage]];
}
于 2013-01-29T11:26:01.960 回答