Cordova iOS - inAppbrowser - ui冻结

时间:2016-07-14 09:58:57

标签: ios angularjs cordova

我正在使用两个插件(cordova-plugin-auth-dialog& cordova-inappbrowser)来实现我的cordova ios应用程序的登录过程。

登录本身在iPhone上工作得很好,但在iPad上导致UI冻结很长时间(CPU使用率为99%,持续约1分钟)。它必须由登录引起,因为只要您登录,该应用程序就会正常工作。

在Xcode中,我也可以看到着名的

THREAD WARNING: ['InAppBrowser'] took '52.126953' ms. Plugin should use a background thread.

警告。这真的很重要吗?

我使用的是最新版本的cordova和ios平台的4.1.0版本。

你们有什么提示吗?我也非常想用一些外部工具来调试问题(Safari Debugger,对我来说真的没有任何有用的信息)。

提前致谢!

编辑:添加代码

authDialog.authenticate(URL_TO_LOGIN, function () {
   console.log("success");
   var inAppBrowserRef = cordova.InAppBrowser.open(URL_TO_LOGIN, '_blank', 'location=yes,hidden=yes');
   inAppBrowserRef.addEventListener('loadstart', loadStartCallBack);
   inAppBrowserRef.addEventListener('loadstop', loadStopCallBack);
   inAppBrowserRef.addEventListener('loaderror', loadErrorCallBack);
     defer.resolve();
   }, function (error) {
     console.log("error xxx:", error);
     defer.resolve();
   }, username, password);

1 个答案:

答案 0 :(得分:0)

以下代码段可能会对您有所帮助。

  

setTimeout(function(){        _self.openUrl(url)},300);