4***@qq.com
4***@qq.com
  • 发布:2016-12-25 10:41
  • 更新:2016-12-26 09:12
  • 阅读:922

webview的现载

分类:MUI

看到文档上有句话:
为了减少窗体切换的等待,一般不在点击后使用webview的create方法,因为创建过程也有时间消耗。
比较好的方法是提前创建一个webview,需要载入页面时使用webview的loadURL方法来载入。
比如:有个列表页面,我在列表页面加载完成时,Create一个webview,然后点击列表项时,loadURL详细页面,但,详细页面返回到列表页面时,再次点击列表项时,是无法正常跳转到详细页面的(应该是返回销毁了webview)。
问题:create方法是比较费时间,那么这个create放在列表页面的哪个事件里,才更优化呢,
2,返回销毁了webview,那么在列表页面里不是还要再create吗?

2016-12-25 10:41 负责人:无 分享
已邀请:
猫猫猫猫

猫猫猫猫 - 用户已离线

我是这样处理的:
在用户进入首屏后,预载一个webview;
当第一个预载的webview使用后,再预载第二个webview;
依次类推。。。
每个webview返回时不销毁,只是隐藏,然后重复使用。
设置一个最大预载数量,当超出预载数量时候返回时就不隐藏而是销毁。
一般app页面深度也就是3级,设置最大预载数量4一般就满足了。

  • 4***@qq.com (作者)

    那么也就是说重写back()功能,不销毁webview而是直接隐藏,当超出预载数量这个如何判断呢?还有预载界面如何销毁他。谢谢,请再指点一下。

    2016-12-25 15:35

  • 猫猫猫猫

    请看文档里h5+里的webview部分

    2016-12-25 15:39

4***@qq.com

4***@qq.com (作者) - 九如软件

兄弟,你用的是平台提供的预载数量设置功能吧,这个功能他对预载数量的先入先出是页面级的,这样的话可能不好控制总的预载数量,预载数太大了,可能照成系统的性能问题,按官文中说法不要超过20个,
我现在做了个全局的预载方法(类型工厂类),所有的预载都从这个方法里取(有则返回,无则预载),这个工厂也负责管理数量,达到一定的数量后,根据一定规则销毁部分预载页。
哪位兄弟有更好的建议吗,我感觉预载功能比Createwebview体验真好多了,就算你用完直接销毁,体验也好得多。
问题:还有如何判断全局预载页面的预载创建时间,取出的预载数组就是按时间顺序排序的吗?

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