ZLPhotoBrowser icon indicating copy to clipboard operation
ZLPhotoBrowser copied to clipboard

超过8000张图片的手机启动可能会闪退

Open maxfong opened this issue 3 years ago • 3 comments

Issue Description

超过8000张图片的手机可能会引起闪退,而且闪退后再次打开100%闪退

Description and Steps

调用[ps showPhotoLibraryWithSender:sender];就闪退

机型和系统包含: image 闪退的代码在: image

public func refetchPhotos() {
        let models = ZLPhotoManager.fetchPhoto(in: self.result, ascending: ZLPhotoConfiguration.default().sortAscending, allowSelectImage: ZLPhotoConfiguration.default().allowSelectImage, allowSelectVideo:  ZLPhotoConfiguration.default().allowSelectVideo)
        self.models.removeAll()
        self.models.append(contentsOf: models)    <-----这一行,应该是models内对象被释放?但是查不到是哪个
    }

Configuration code of ZLPhotoConfiguration

ZLPhotoConfiguration *config = [ZLPhotoConfiguration default];
     config.editImageConfiguration.clipRatios = @[[ZLImageClipRatio wh9x16], [ZLImageClipRatio wh3x4], [ZLImageClipRatio wh1x1], [ZLImageClipRatio wh4x3], [ZLImageClipRatio wh16x9]];
     config.allowSelectVideo = NO;
     config.allowSelectGif = NO;
     config.allowRecordVideo = NO;

maxfong avatar Jan 10 '22 08:01 maxfong

//            DispatchQueue.global().async {
                self.albumList.refetchPhotos()
                ZLMainAsync {
                    self.arrDataSources.removeAll()
                    self.arrDataSources.append(contentsOf: self.albumList.models)
                    markSelected(source: &self.arrDataSources, selected: &nav.arrSelectedModels)
                    hud.hide()
                    self.collectionView.reloadData()
                    self.scrollToBottom()
                }
//            }

注释异步能解决这个闪退,不确定是否会引起其它问题

maxfong avatar Jan 17 '22 08:01 maxfong

最近有点忙,我抽空给手机多导入点图片试下

longitachi avatar Jan 17 '22 08:01 longitachi

最近有点忙,我抽空给手机多导入点图片试下

辛苦了,不仅是图片多,还可能包含icloud图片,refetchPhotos()移到主线程暂时没问题,性能也没发现有影响

maxfong avatar Jan 17 '22 11:01 maxfong

8000张?!太狠了,作者说我头发都没这么多😅

LemonChao avatar Jan 06 '23 10:01 LemonChao

我遇到的问题应该就是这个。 客户相册有18000多张图片,iCloud图片。打开相册失败。目前还没有日志。。

FanYouXin avatar Aug 28 '23 06:08 FanYouXin

我这边4000张也出现崩溃 崩溃位置self.models.append(contentsOf: models)

dls007 avatar Aug 31 '23 09:08 dls007

@dls007 能录个屏吗,是100%崩溃吗。我在手机里导入了8000多张图片了,暂没有复现。准备继续在导入几千张测试下

longitachi avatar Aug 31 '23 11:08 longitachi

@dls007 能录个屏吗,是100%崩溃吗。我在手机里导入了8000多张图片了,暂没有复现。准备继续在导入几千张测试下 // DispatchQueue.global().async { self.albumList.refetchPhotos() ZLMainAsync { self.arrDataSources.removeAll() self.arrDataSources.append(contentsOf: self.albumList.models) markSelected(source: &self.arrDataSources, selected: &nav.arrSelectedModels) hud.hide() self.collectionView.reloadData() self.scrollToBottom() } // } 暂时也是这样处理 但是又遇到一个新问题 捕获页面的时候 有概率性画面卡住 但是没崩

dls007 avatar Sep 12 '23 08:09 dls007

不是100%,客户的云端照片比较多。还有视频文件。 客户没有提供视频,只有截图。

502873213 @.***

 

------------------ 原始邮件 ------------------ 发件人: "longitachi/ZLPhotoBrowser" @.>; 发送时间: 2023年9月12日(星期二) 下午4:36 @.>; @.@.>; 主题: Re: [longitachi/ZLPhotoBrowser] 超过8000张图片的手机启动可能会闪退 (Issue #684)

@dls007 能录个屏吗,是100%崩溃吗。我在手机里导入了8000多张图片了,暂没有复现。准备继续在导入几千张测试下 // DispatchQueue.global().async { self.albumList.refetchPhotos() ZLMainAsync { self.arrDataSources.removeAll() self.arrDataSources.append(contentsOf: self.albumList.models) markSelected(source: &self.arrDataSources, selected: &nav.arrSelectedModels) hud.hide() self.collectionView.reloadData() self.scrollToBottom() } // } 暂时也是这样处理 但是又遇到一个新问题 捕获页面的时候 有概率性画面卡住 但是没崩

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

FanYouXin avatar Sep 14 '23 03:09 FanYouXin