html - 如何阻止 MPAVItem 使用 UIWebView 中的视频使我的 iOS 应用程序崩溃?

标签 html ios objective-c uiwebview webkit

我有一个不断刷新并显示新视频和图像的 WebView 。我怀疑 HTML 页面中的对象没有正确释放,因为我的内存增长缓慢。我在调用已经被释放的 MPAVItem 上的方法时也遇到了崩溃。我没有直接使用 MPAVItem,它是 webview 为我的嵌入式视频自动创建和使用的对象。具体故障转储为

Thread 0:
0   libobjc.A.dylib                 0x3b17c636 objc_msgSend + 22
1   Foundation                      0x30ef4aca +[NSConcreteNotification newTempNotificationWithName:object:userInfo:] + 118
2   Foundation                      0x30ef4a20 -[NSNotificationCenter postNotificationName:object:userInfo:] + 48
3   Foundation                      0x30ef9316 -[NSNotificationCenter postNotificationName:object:] + 26
4   MediaPlayer                     0x3183ff04 __53-[MPAVItem _playerItemNewAccessLogEntryNotification:]_block_invoke + 68

我必须让应用程序运行将近一个小时才能崩溃。随着网页每 7 秒刷新一次,它会因太多进程、内存不足或访问 MPAVItem 而崩溃。我已经尝试了我在网上找到的所有内容,例如暂停视频、倒带、将视频 src 设置为“”、清除整个文档、将 webview 设置为 nil 等 javascript 技巧。没有什么能完全删除这些对象。为了使事情变得更复杂,我将图像和视频放在 iframe 中。主文档中的代码实际上是控制 iframe 内容重新加载的“播放器”。 iframe 每 7 秒更改一次内容,整个页面(播放器)每 20 秒刷新一次。

最佳答案

前段时间我自己的 UIWebView 遇到了问题。 视频并非一直显示(有时显示,有时不显示)。

这不完全是您的问题,但请继续阅读。 ;) 我发现约束对于 webview 非常重要。 如果您没有设置约束,请设置它们并仔细检查它们是否可能已设置。

在我的例子中,视频正在重新尝试在 View 中播放。这导致程序内存泄漏。因此,约束可能是内存泄漏的一个因素。

希望这对您有所帮助!

关于html - 如何阻止 MPAVItem 使用 UIWebView 中的视频使我的 iOS 应用程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22637204/

相关文章:

javascript - 如何在一个函数下合并 javascript 中的加载事件和更改事件?

ios - FBSDKAppInviteDialog 不工作

ios - 表达式类型 'NSMutableArray!' 在没有更多上下文的情况下不明确

ios - 如何更改 userInterfaceLayoutDirection

ios - iOS:如何正确添加运行脚本?

ios - 是否可以在 iOS 中通过 FTP 写入远程文件?

objective-c - 当有东西被添加到 NSPasteboard 时得到通知

javascript - 使用 three.js 在 FPS 游戏中进行碰撞检测

javascript - 如何将文字包裹在图像中?

Jquery .attr() 不会更改我的输出名称