我使用AVAssetDownloadURLSession进行后台下载。 一切正常,但是我总是从委托那里泄漏内存。
NSURLSessionConfiguration *configuraton = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:url];
AVAssetDownloadURLSession *downloadSession = [AVAssetDownloadURLSession sessionWithConfiguration:configuraton
assetDownloadDelegate:self
delegateQueue:NSOperationQueue.mainQueue];
[NSUserDefaults.standardUserDefaults setObject:@"some obj"
forKey:url];
NSURL *downloadUrl = [NSURL URLWithString:url];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:downloadUrl
options:nil];
AVAssetDownloadTask *downloadTask = [downloadSession assetDownloadTaskWithURLAsset:asset
assetTitle:@"SomeTitle"
assetArtworkData:nil
options:nil];
[downloadTask resume];
喜欢
[__ NSCFBackgroundAVAssetDownloadTask _onqueue_didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:]
[__ NSCFBackgroundAVAssetDownloadTask _onqueue_didResolveMediaSelectionPropertyList:]
,我找不到有关内存泄漏的某些信息。 有帮助吗?
答案 0 :(得分:0)
完成后,您必须在downloadSession上调用-invalidate。