Phonegap/Cordova 应用程序中的线程警告
Posted
技术标签:
【中文标题】Phonegap/Cordova 应用程序中的线程警告【英文标题】:thread warnings in Phonegap/Cordova app 【发布时间】:2013-12-04 08:38:22 【问题描述】:我在 iPhone (ios 6) 上编译时收到这两个 线程警告:
THREAD WARNING: ['InAppBrowser'] took '260.519043' ms. Plugin should use a background thread.
THREAD WARNING: ['Geolocation'] took '110.953857' ms. Plugin should use a background thread.
这就是我在代码中调用插件的方式:
window.open("http://www.anaddress.com", '_system');
这就是我的 config.xml 的样子:
<?xml version='1.0' encoding='utf-8'?>
<widget id="my.id" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Hello Cordova</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<access origin="*" />
<preference name="AllowInlineMediaPlayback" value="false" />
<preference name="AutoHideSplashScreen" value="true" />
<preference name="BackupWebStorage" value="cloud" />
<preference name="DisallowOverscroll" value="false" />
<preference name="EnableViewportScale" value="false" />
<preference name="FadeSplashScreen" value="true" />
<preference name="FadeSplashScreenDuration" value=".25" />
<preference name="HideKeyboardFormAccessoryBar" value="false" />
<preference name="KeyboardDisplayRequiresUserAction" value="true" />
<preference name="KeyboardShrinksView" value="false" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="ShowSplashScreenSpinner" value="true" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="TopActivityIndicator" value="gray" />
<preference name="GapBetweenPages" value="0" />
<preference name="PageLength" value="0" />
<preference name="PaginationBreakingMode" value="page" />
<preference name="PaginationMode" value="unpaginated" />
<feature name="LocalStorage">
<param name="ios-package" value="CDVLocalStorage" />
</feature>
<feature name="Notification">
<param name="ios-package" value="CDVNotification" />
</feature>
<feature name="Geolocation">
<param name="ios-package" value="CDVLocation" />
</feature>
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
<author email="mail@exam.de" href="http://www.example.com">Me
</author>
<content src="index.html" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
</widget>
当然,我使用 cordova CLI 安装了插件:
$ cordova plugin add org.apache.cordova.inappbrowser
任何帮助将不胜感激,谢谢!
【问题讨论】:
地理定位插件有什么解决方案吗?我对 phonegap 3.3.0 也有同样的问题,在找到消除警告的方法之前,我不会在生产中使用它。 【参考方案1】:查看Phonegap Documentation 并搜索“线程” 他们解释说您可能希望在后台运行线程而不是主线程。
Apple 不喜欢 Blocked UI,因此如果通话时间超过 10 毫秒,您需要想办法取消通话。
虽然您没有收到错误,但只是警告。
【讨论】:
谢谢布鲁诺。但我绝对不会流利使用 Obj-C。是否有使用工作插件的解决方法?谢谢。以上是关于Phonegap/Cordova 应用程序中的线程警告的主要内容,如果未能解决你的问题,请参考以下文章
IOS/android + phonegap/cordova框架中的返回键
iOS - 如何使用 phoneGap / Cordova 中的参数调用 writeJavascript