Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Init camera long time #206

Open
donaldyang opened this issue Oct 7, 2016 · 5 comments
Open

Init camera long time #206

donaldyang opened this issue Oct 7, 2016 · 5 comments

Comments

@donaldyang
Copy link

donaldyang commented Oct 7, 2016

"DBLibraryManager.m" Line-117 change like this will init camera faster

if(blockGetAllAssets){
[items addObject:[[result defaultRepresentation] url]];
}

PS:My photo library saved more than 2000+ photos.It init camera take a long time.

@thelordy
Copy link

I'm facing the same problem on iOS 10. It takes more than 12 seconds to load the photo library. Changing the line you suggested doesn't solve the problem.

@donaldyang
Copy link
Author

@thelordy I'm testing on iOS10 .The code i changed make the camera init faster when i push the DBCameraContainerViewController.But it also use a long time when i touch right bottom 'show libaray button' to open the photo library show in GridView.

@thierrybucco
Copy link

Same problem for me.

@jpros
Copy link

jpros commented Nov 10, 2016

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.

@thelordy
Copy link

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!

anqqa added a commit to anqqa/DBCamera that referenced this issue Dec 14, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants