以下是运行14小时后的仪器会话:
我对仪器还不是很熟悉,虽然live Bytes保持一致且低,但其他值似乎非常高.但同样,我不确定这是否正常.
这就是我创建视频播放器的方式:
- (voID)setupInitialContentWithBounds:(CGRect)externalScreenBounds{ avPlayer = [[AVPlayer alloc] init]; avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:avPlayer]; avPlayerLayer.frame = externalScreenBounds; [self.externalWindow.layer addSublayer:avPlayerLayer]; avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone; [[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(playerItemDIDReachEnd:) name:AVPlayerItemDidplayToEndTimeNotification object:[avPlayer currentItem]]; [self playVIDeo:@"IDle"];}
这是playVIDeo方法:
- (voID)playVIDeo:(Nsstring *)name{ currentVIDeo = name; Nsstring *filepath = [[NSBundle mainBundle] pathForResource:name ofType:@"mp4"]; NSURL *fileURL = [NSURL fileURLWithPath:filepath]; AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:fileURL]; [avPlayer replaceCurrentItemWithPlayerItem:playerItem]; [avPlayer play];}
这里是视频结束时的通知监听器:
- (voID)playerItemDIDReachEnd:(NSNotification *)notification{ if([currentVIDeo isEqualToString:@"IDle"]) { //Keeps looPing the IDle vIDeo until another one is selected AVPlayerItem *p = [notification object]; [p seektotime:kCMTimeZero]; } else { NSLog(@"Just finished a different vIDeo,so go back to IDle"); [self playVIDeo:@"IDle"]; }}
编辑:起初我的客户告诉我它崩溃了,但看起来它实际上冻结了,视频停止播放,应用程序没有响应.有任何想法吗?
解决方法 我不能回答你关于崩溃的问题,除了确认我们在这里看到类似的崩溃可能是同一个问题.但是我可以帮助你更好地解释乐器的显示效果.我不担心整体字节数和#总体值非常高.这些测量自应用程序启动以来(或自附加仪器以来)分配的内存总量.也就是说,分配1MB然后释放它将为这些总数增加1MB.
我希望整体字节数量或多或少与视频*播放次数的大小成正比.
总结以上是内存溢出为你收集整理的视频循环在某些时候冻结了我的iOS应用程序全部内容,希望文章能够帮你解决视频循环在某些时候冻结了我的iOS应用程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)