gpt4 book ai didi

ios - Monotouch + UIWebView = 随机崩溃

转载 作者:可可西里 更新时间:2023-11-01 05:42:25 25 4
gpt4 key购买 nike

我在 iOS 5.0 iPhone 和 iPad 上使用最新稳定版的 Mono/Monotouch/MonoDevelop。我有一个 UIWebView,它在模拟器中永远不会崩溃,但是在实际设备上会随机崩溃,它会在 EXC_BAD_ACCESS 上崩溃。根据我阅读的有关 UIWebViews 的所有内容,最有可能发生在 UIWebView 在完成加载之前被处置时。

这是我在 ViewDidLoad() 中使用的代码:

var urlAddress = BASE_URL + _page;
var nsURL = new NSUrl(urlAddress);
var nsURLRequest = new NSUrlRequest(nsURL);

_webView.Tag = 10;
_webView.ScalesPageToFit = true;
_webView.AutosizesSubviews = true;

_webView.LoadStarted += HandleWebViewLoadStarted;
_webView.LoadFinished += HandleWebViewLoadFinished;
_webView.LoadRequest(nsURLRequest);

this.Add(_webView);

为什么它会在实际设备上随机崩溃,但从不在模拟器中崩溃?

最佳答案

我需要查看崩溃详细信息和更多的源代码才能 100% 确定,但我相信这是因为您的 NSUrlRequest 实例被声明为局部变量。 将此变量提升到您的类型的字段中应该可以解决此问题。

一旦方法完成它的执行,实例可能仍然是必需的。但是那时它不再被引用,垃圾收集器可以随时收集它。如果已收集,那么您可能会像您提到的那样发生崩溃。

它不会在模拟器上发生的事实可能是因为它(比设备)更快并且代码可以在 GC 收集该实例之前完成。 IOW 它可能会崩溃,这只是一个时间问题,它使它大部分时间都在模拟器上工作,而几乎从不在设备上工作。

关于ios - Monotouch + UIWebView = 随机崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646966/

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