小编oot*_*nym的帖子

发生内存泄漏多次使用GPUImageMovieWriter时

我需要哪些步骤来释放GPUImageMovieWriter对象?如果我想安全地多次使用MovieWriter,该怎么办?

使用我创建的GPUImage在应用程序中发生内存泄漏.输出超过movieWriter视频两倍时发生内存泄漏.使用Instruments进行调试,结果表明GPUImageMovieWriter尚未发布.

实施概述

@property (nonatomic, strong) GPUImageMovieComposition *gpuMovieFileComp;
@property (nonatomic, weak) GPUImageMovieWriter *movieWriter;
@property (nonatomic, weak) GPUImageFilter *exportFilter;
@property (nonatomic, weak) AVMutableComposition *mixComposition;
@property (nonatomic, weak) AVMutableVideoComposition *transformVideoComposition;
@property (nonatomic, weak) AVMutableAudioMix *mutableAudioMix;

_gpuMovieFileComp = [[GPUImageMovieComposition alloc] initWithComposition:self.mixComposition andVideoComposition:self.transformVideoComposition andAudioMix:self.mutableAudioMix];
GPUImageMovieWriter *mr = [[GPUImageMovieWriter alloc]initWithMovieURL:_exportUrl size:CGSizeMake(MOVIE_SIZE_W, MOVIE_SIZE_H)];
[_gpuMovieFileComp enableSynchronizedEncodingUsingMovieWriter:mr];
_movieWriter = mr;
mr = nil;

_movieWriter.shouldPassthroughAudio = YES;
_movieWriter.encodingLiveVideo = NO;
_movieWriter.hasAudioTrack = YES;
_gpuMovieFileComp.playAtActualSpeed = YES;
_gpuMovieFileComp.audioEncodingTarget = _movieWriter;

[_gpuMovieFileComp addTarget:_exportFilter];
[_exportFilter addTarget:_movieWriter];

[_movieWriter setCompletionBlock:^{
    weakSelf.gpuMovieFileComp removeTarget:weakSelf.exportFilter];
    [weakSelf.exportFilter removeTarget:weakSelf.MovieWriter]; …
Run Code Online (Sandbox Code Playgroud)

memory-leaks objective-c ios gpuimage

0
推荐指数
1
解决办法
917
查看次数

标签 统计

gpuimage ×1

ios ×1

memory-leaks ×1

objective-c ×1