Cordova 如何在phonegap开发中实现线程过程?
我正在开发phonegap应用程序,该应用程序从服务器读取json数据,但在执行javascript之前,它会停止当前进程的执行 我想像线程一样执行这个过程Cordova 如何在phonegap开发中实现线程过程?,cordova,Cordova,我正在开发phonegap应用程序,该应用程序从服务器读取json数据,但在执行javascript之前,它会停止当前进程的执行 我想像线程一样执行这个过程 如何实现它?WebView中的JavaScript不在UI线程上运行。它在WebCore线程上运行。execute方法也在WebCore线程上运行 如果需要与UI交互,则应使用以下功能: @Override public boolean execute(String action, JSONArray args, final Callbac
如何实现它?WebView中的JavaScript不在UI线程上运行。它在WebCore线程上运行。execute方法也在WebCore线程上运行 如果需要与UI交互,则应使用以下功能:
@Override
public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {
if ("beep".equals(action)) {
final long duration = args.getLong(0);
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
...
callbackContext.success(); // Thread-safe.
}
});
return true;
}
return false;
}
如果不需要在UI线程上运行,但不想阻止WebCore线程:
@Override
public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {
if ("beep".equals(action)) {
final long duration = args.getLong(0);
cordova.getThreadPool().execute(new Runnable() {
public void run() {
...
callbackContext.success(); // Thread-safe.
}
});
return true;
}
return false;
}
在PhoneGap Android代码中,我推断PhoneGap有一个嵌入式服务器,从UI到本机的javascript调用是通过该嵌入式服务器进行的,因此回调可以在单独的线程中执行。