gpt4 book ai didi

ios - 防止 UIWebView 分配大量内存

转载 作者:行者123 更新时间:2023-12-01 19:26:30 25 4
gpt4 key购买 nike

我遇到了 UIWebView 的问题。我正在使用此组件在 iPad/iPhone 上加载普通网页。 UIWebView 呈现在 modalViewController 中。有些页面非常占用内存,有些页面还包含 Flash 内容。

问题是有时在某些页面上我会收到内存警告

Received memory warning. Level=1

当这种情况发生时,当我关闭这个 modalViewController(它在 webView 中加载了页面)时,前一个 View 会自动重新加载自身 - 再次触发 viewDidLoad 方法。

我怀疑 UIWebView 中的某些页面消耗了大量内存,而不是应用程序释放其 View 的内存,但不会崩溃。

有没有办法限制 webView 的内存消耗,或者有没有其他方法可以避免这个内存警告?

谢谢!

最佳答案

您几乎无法控制 UIWebView 的内存使用情况。对象。您也几乎无法控制整个系统内存使用情况。所以没有办法避免内存警告。 iOS 期望您的应用程序在收到内存警告时正常运行,因此您的 viewDidLoad应该编写方法来处理内存警告后的重新运行。

您可以做的唯一事情是限制 UIWebView 的内存使用。是让它查看简单的网页。从您的问题看来,这不是一个选择。

编辑: viewDidUnload在内存不足的情况下调用。此方法有望释放任何易于在 viewDidLoad 方法中重新创建的内容。当这个 View 返回屏幕时,不要释放你想要显示给用户的状态信息。然后在你的viewDidLoad方法检查您创建的所有对象。如果他们是 nil ,它们需要被初始化,否则这不是你的第一次viewDidLoad方法被调用,你不应该再次初始化你的对象。

换句话说:viewDidUnload处理内存不足的情况和viewDidLoad不应该假设它运行一次。

关于ios - 防止 UIWebView 分配大量内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7187795/

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