DBCamera icon indicating copy to clipboard operation
DBCamera copied to clipboard

Camera roll with 2000+ photos = Picture selector unusable

Open thierrybucco opened this issue 8 years ago • 4 comments

Hi,

My iPad has 2000+ photos, when I touch camera roll button it took almost 10 seconds to display content.

thierrybucco avatar Oct 24 '16 18:10 thierrybucco

I ended up using ReactiveObjc and the new Photos framework to achieve a better performance.

The new Photos framework gives me the photos ordered by date latest first, and the ReactiveObjC gives me the ability to add the photos in batches, and not load all of them to only then show to the user.

I've also added video browsing through DBCamera.

I'll clean up the code, and I should submit it soon.

jpros avatar Nov 10 '16 03:11 jpros

Duplicate from #206

jpros avatar Nov 10 '16 03:11 jpros

Ok guys, just fixed the issue. You have to make some changes on this files:

"DBLibraryManager.m":

On Line 86 ( before 'if ( group )') add: ALAssetsFilter *onlyPhotosFilter = [ALAssetsFilter allPhotos]; [group setAssetsFilter:onlyPhotosFilter];

Replace Lines from 113 to 119 with: if ( result ) { [items addObject:result]; assetResult = result; }

"DBCameraCollectionViewController.m":

Replace Lines from 74 to 78 with: ALAsset *asset = _items[indexPath.item]; CGImageRef thumbnailImageRef = [asset thumbnail]; UIImage *thumbnail = [UIImage imageWithCGImage:thumbnailImageRef]; item.itemImage.image = thumbnail;

Replace Line 93 with: [_collectionControllerDelegate collectionView:collectionView itemURL:(NSURL *)[[asset defaultRepresentation] url]];

Hope to help someone else because this library is amazing!

thelordy avatar Dec 10 '16 14:12 thelordy

is it possible to do a pull request?

thierrybucco avatar Mar 13 '17 18:03 thierrybucco