gpt4 book ai didi

ios - Sencha touch/cordova 应用程序在 ios8 启动时随机崩溃

转载 作者:技术小花猫 更新时间:2023-10-29 11:25:10 27 4
gpt4 key购买 nike

我的应用程序是用 sencha touch 2.4 编写的,并使用了最新版本的 cordova。自 iOS8 以来,我遇到了应用程序随机崩溃的问题。只有当我完全关闭应用程序时才会发生这种情况,而且只是偶尔发生。崩溃似乎是在显示初始屏幕后立即发生的。 sencha touch 加载图标不会出现,应用程序只会关闭。如果我再次尝试打开该应用程序,它会起作用。

我几乎立即使用 localstorage 来填充用户名等,我试图删除它,因为我读到它导致了问题,但它没有帮助。

编辑:经过更多调查后,我现在收到此错误:

[UIViewAnimationState release]: message sent to deallocated instance 0x17675080

它出现在全新的 cordova/sencha touch 示例项目中,并带有 iOS8。知道这可能是什么原因吗?是否有关于如何调试此问题的任何提示?

编辑2:Sencha 说他们不会在下一个版本 2.4.1 之前正式支持 ios8。 http://www.sencha.com/forum/showthread.php?292883-Touch-2.4.0-apps-crashing-on-iOS8

编辑3:我想我可以通过遵循上面链接的论坛线程中的建议来改进这一点。我将 sencha touch、sencha cmd 和 cordova 更新到最新版本,并为 cordova 安装了 splashscreen-plugin。从那以后我就再也没有发生过启动崩溃,希望这已经解决了这个问题。

最佳答案

编辑 24/03/2015

我们找到了这个插件 https://github.com/Telerik-Verified-Plugins/WKWebView它使用新的 WKWebView 而不是旧的 UIWebView 修复了随机崩溃。


这似乎与 Sencha Touch 和/或 Cordova 没有直接关系,因为这 bug report在 Xamarin 上证明。

Xamarin 是一个用于构建 native 移动应用程序的 .NET 框架,因此这意味着它不是 Cordova/Phonegap 错误,此外错误报告者重现了错误加载 http://www.xamarin.com网页进入 WebView,这证明它不是 Sencha Touch 错误。他表示“这似乎更可能是 JavaScriptCore 错误”。

错误报告的发布者使用外部网页、jQuery Mobile 应用程序和 Sencha Touch 进​​行了一些测试,发现不同的页面使应用程序以不同的速度崩溃,特别是非常简单的 jQuery Mobile 应用程序是三者中更稳定。

所以我尝试从我的 Sencha 应用程序 app.json 中删除所有外部库(它曾经依赖于 Chart.jsjQuery 和其他一些库),我注意到如果不包括它们,应用程序会变得更加稳定。

我重写了需要这些库的代码部分,用纯 Javascript 重新实现了这些功能,我做了一些测试,发现在加载外部库的情况下,它崩溃了 1/2 次,较轻的版本崩溃了大约 1/50 次(这些统计数据是在每个版本启动应用程序 50 次时获得的)。

这些测试似乎表明该错误与加载到 webview 的页面的重量有关,页面越轻,崩溃的可能性就越小。

我希望这能有所帮助,至少在 Apple 修复 WebView 之前提高应用程序的稳定性。

关于ios - Sencha touch/cordova 应用程序在 ios8 启动时随机崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26174037/

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