yehunhun
yehunhun
  • 发布:2015-04-19 20:25
  • 更新:2015-04-20 16:24
  • 阅读:2407

plus调用本地API是否有异步执行的API?

分类:HTML5+

@DCloud_Android_磊子
请教个问题,就是在调用mui plus的方法时,例如plus.webview.create()方法,都会阻塞线程,当我打开一个页面,并在该页面使用plus.webview.create()方法创建一个子页面时,假如网速较慢,需要关闭主页面,这时即使按物理返回键或者主页面关闭按钮,都会延迟几秒才能响应。另外一个例子是在调用plus.io遍历文件时也会阻塞线程,UI会无响应,不知道有什么好的办法解决吗?是否有提供异步执行的API?

2015-04-19 20:25 负责人:无 分享
已邀请:
Android_磊子

Android_磊子

目前5+平台有异步执行、同步执行两种。
plus api会根据接口性质选择使用异步还是同步,plus.webview.create、addEventListener等都是异步执行的,且必须要在ui主线程中执行。plus.io相关操作也会按需要选择使用异步还是同步,异步这块可能还再细分。

  • yehunhun (作者)

    实际执行时,plus.webview.create方法会阻塞UI线程

    2015-04-20 14:44

  • Android_磊子

    回复 yehunhun:创建webview必须在ui线程

    2015-04-20 15:09

  • yehunhun (作者)

    回复 Android_磊子:能否异步执行?因为当网速较慢,或者资源较大时,需要较长的加载时间,这样导致UI不响应用户行为,甚至无法关闭当前页面,请问有否解决方案?

    2015-04-20 15:36

  • Android_磊子

    回复 yehunhun:android系统要求创建view需要在ui线程,测试页面发我来看看

    2015-04-20 16:05

  • yehunhun (作者)

    回复 Android_磊子:页面已经上传,具体情况是,打开的页面后,需要加载一个子页面,当调用plus.webview.create的方法时,UI会被阻塞,当页面加载缓慢时会造成长时间等待而又无法关闭页面。我已经去掉了长时间显示wating框的代码。

    2015-04-20 16:27

  • Android_磊子

    回复 yehunhun:关闭的逻辑应该加在非正在加载页面。

    2015-04-20 18:14

yehunhun

yehunhun (作者)

附件已经上传

该问题目前已经被锁定, 无法添加新回复