收到内存警告?

Posted

技术标签:

【中文标题】收到内存警告?【英文标题】:Getting Receive memory warning? 【发布时间】:2015-08-21 09:00:41 【问题描述】:

我正在尝试使用 ImagePickerController 从照片库中获取最长 30 秒的特定视频。

获得 URL 后,我将进入第二个视图以在 AVPlayer 中播放所选视频。

我收到“收到内存警告”。和 ""与 assetsd 的连接被中断或 assetsd 死了"。

如何解决此错误?有人可以帮帮我吗?

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

    NSURL *videoURL= [info objectForKey:UIImagePickerControllerMediaURL];

    NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL];
    AVAsset *asset = [AVAsset assetWithURL:url];

    [picker dismissViewControllerAnimated:YES completion:^
        Edition *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"EditionVC"];
        vc.videoUrl=videoURL;
        vc.asset=asset;
        [self presentViewController:vc animated:YES completion:nil];
    ];

在第二个视图中播放视频。

 self.avPlayerItem = [AVPlayerItem playerItemWithURL:self.videoUrl];
 self.avPlayer = [AVPlayer playerWithPlayerItem:self.avPlayerItem];
 [self.avPlayer play];
 self.avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone;

 [[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(playerItemDidPlayToEndTime:)
                                              name:AVPlayerItemDidPlayToEndTimeNotification
                                            object:self.avPlayerItem];

【问题讨论】:

你是如何解决这个问题的? 我为视频设置了较低的质量。 picker.videoQuality=UIImagePickerControllerQualityTypeIFrame1280x720; 【参考方案1】:

您在 Instruments.app 中有内存分析工具 - 这将向您显示与您的应用中的分配相关的大量数据。

通过仪器检查应用程序-->内存分配

它将显示应用程序使用的所有内存,如果有任何泄漏,它将显示。

【讨论】:

我知道。 Cpu - 20%, Memory-56MB, DISk-0, Network-0, FPS-30

以上是关于收到内存警告?的主要内容,如果未能解决你的问题,请参考以下文章

使用仪器收到内存警告

收到内存警告时 UICollectionView 维护的单元队列会发生啥?

从 iphone 相机拍照时收到 iphone 中的内存警告问题

收到内存警告然后崩溃

从相机点击多张图像时收到内存警告

收到内存警告的未知原因