2014-10-03 66 views
9

我的应用程序使用sencha touch 2.4编写,并使用最新版本的cordova。自iOS8以来,我遇到了一个随机应用程序崩溃的问题。它只发生在我完全关闭应用程序,并且只是有时。在显示启动画面后,崩溃似乎会直接发生。 sencha触摸加载图标不会出现,应用程序只是关闭。如果我尝试再次打开该应用程序,它就会起作用。Sencha touch/cordova app在ios8启动时随机崩溃

我几乎立即使用localstorage填充用户名等,我试图删除它,因为我读它造成的问题,但它没有帮助。

编辑: 经过调查我现在收到此错误:

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

它出现在一个完全新的科尔多瓦/煎茶触摸示例项目,并与iOS8上。 任何想法这可能是什么原因? 有没有关于如何调试此问题的任何提示?

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

EDIT3: 我想我是可以通过以下链接中的aboved论坛线程的建议,以改善这一点。我更新了sencha touch,sencha cmd和cordova到最新版本并安装了cordova的splashscreen-plugin。自从我没有发生创业崩溃,希望这已经解决了这个问题。

+0

好的,这似乎与'Sencha Touch'和/或Cordova没有直接关系,因为这个https://bugzilla.xamarin.com/show_bug.cgi?id=23667错误报告在'Xamarin'证明。 'Xamarin'是一个用于构建原生移动应用的.NET框架,因此这证明它不是'Cordova/Phonegap'的错误,另外它们再现了将Web页面加载到WebView中的错误,这证明它不是'Sencha Touch '错误。它似乎更可能是一个JavaScriptCore错误。 – 2014-10-29 10:32:51

回答

3

编辑24/03/2015

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


这似乎没有直接关系,煎茶触摸和或科尔多瓦,因为这bug report上Xamarin证明。

Xamarin是一个用于构建原生移动应用程序的.NET框架,所以这意味着它不是Cordova/Phonegap错误,另外该错误记者转载了加载http://www.xamarin.com网页到WebView的错误,这证明它不是Sencha Touch bug 。他表示“这看起来更像是一个JavaScriptCore bug”。

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

于是,我就从我的煎茶应用app.json删除所有的外部库(它曾经依靠Chart.jsjQuery,和其他一些库),我注意到,没有包括它们的应用程序已经成为更加稳定。

我重写了那些需要那些库的代码部分,用纯JavaScript重新实现了这些特性,并且做了一些测试,发现在外部库加载时它会崩溃一半的时间,轻的版本崩溃1/50的时间(这些统计数据已从每个版本开始应用程序50次获得)。

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

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