gpt4 book ai didi

iphone - 线程正在被操作系统杀死

转载 作者:可可西里 更新时间:2023-11-01 03:59:45 26 4
gpt4 key购买 nike

我目前正在编写一个从影片剪辑中提取帧的应用程序。我设计它以便提取将在单独的线程上完成,以防止应用程序卡住。提取过程本身会占用大量资源,但在模拟器中使用时效果很好。但是,在为 iPad 构建它时存在问题。当我执行另一个 Action 时(我告诉我的 AV 播放器在我提取帧的同时播放),线程意外停止工作,我相信它正在被杀死。

我认为这是因为我使用了很多资源,但不完全确定。

这是我的问题:1. 我怎么知道我的线程是否/为什么停止?2. 如果真的是加工过度怎么办?我真的需要执行此操作。

这是我使用的一些代码:创建线程:

[NSThread detachNewThreadSelector:@selector(startReading) toTarget:self withObject:nil];

我会发布您需要的任何信息,非常感谢!

更新我现在正在使用 GCD,它会为我填充线程。但是操作系统仍然会杀死线程。

我确切地知道它发生的时间。当我告诉我的 [AVplayer play] 时;它会杀死线程。

这个问题只发生在实际的 iPad 上,而不是模拟器上

最佳答案

在我看来,您正试图同时解码两个视频剪辑。由于 iPad 基于硬件的解码特性,它一次只能支持一个解码过程。当您播放新项目时,旧项目将被取消。这可以解释为什么它在模拟器中有效,但在设备上无效。

至于解决方案,您可以改用像libav这样的纯软件解码器。 (GPL) 或 CoreAVC SDK (商业的)。这样您就不会干扰硬件解码器的播放。

关于iphone - 线程正在被操作系统杀死,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com