【发布时间】:2013-11-06 07:14:37
【问题描述】:
好吧,我正在开发 VOIP 应用程序。下面是我的架构。
UI:使用带有 JS 函数的 Cordova。
Sencha Touch:HTML5 框架。
后端:使用 C 代码(引擎)。
JNI:使用 JNI 调用 C 函数,反之亦然。
平台:Android。
现在我们有一个扩展 Cordova 的活动。
科尔多瓦:
1) 有一个加载 webview 的活动。
2)我们调用的都是loadUrl,带有JS函数
3)JS函数将JSONArray作为数据,或者只是一个UI显示JS函数。
**现在我们在 AsyncTask 中调用 loadUrl,并在 broadcastreceiver 和 runOnUiThread 的活动中创建 Handler。 我们看到 UI 转换和 ANR 的一些滞后。 **
从非 UI 线程接收数据,现在如何调用 loadUrl 函数?
1) 文档说(加载给定的 URL),这意味着它应该只在 UI 主线程上调用吗?
2) 我可以在普通的 java 类中创建一个处理程序并在 handleMessage 函数中调用 loadUrl 吗?
3) 在主活动中创建处理程序并在handleMessage 中调用loadUrl?
4)runOnUiThread 是最好的方法吗?
5) 如果 loadUrl 应该在 UI 主线程上调用,如何实现相同?
6) 调用 loadUrl 的最佳方式是什么?
【问题讨论】:
-
现在我们在 AsyncTask 中调用 loadUrl 并在 broadcastreceiver 中创建 Handler !!!为什么这个??正确解释您的问题
标签: javascript android json cordova webview