0

ボタンをクリックすると、iosでassestlibraryフレームワークを使用して画像を取得し、すべての画像を取得しましたが、ボタンを2〜3回以上クリックすると、150枚を超える写真が取得されたため、アプリケーションが遅くなったりクラッシュしたりします。フォトライブラリ画像の画像パスoキャッシュを取得できるので、アプリケーションはスムーズに実行されますか?

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 に答える