伟子
伟子
  • 发布:2014-12-14 19:51
  • 更新:2014-12-16 11:39
  • 阅读:3062

怎么合理回收webview

分类:HTML5+

怎么合理回收webview.
现在是有很多很多页面,如果每个都是webview的话,肯定开几个就闪退了,但是如果每次打开就把上一页close的话,点安卓的回退键就会出问题,求一个合理的回收Webview的方式。
不要说hide,hide也会很卡。

2014-12-14 19:51 负责人:无 分享
已邀请:
musiclee

musiclee

个人认为开过多页面的策略本身值得商榷,资源和性能本身就需要平衡,管理页面的回收也需要消耗运算能力,甚至预加载也不能滥用,因此一般来说10个以内的页面现在的手机都很轻松,如果几十个就难说,但是似乎没有必要开几十个页面,很多功能其实都能聚合,若为了性能,那么焦点在于预加载的预判策略优化上。另一方面,hide如果都觉得卡的话,那么回收后重新open就更加不能接受了。所以还是建议减少页面。

伟子

伟子 (作者)

if (mui.currentWebview == plus.webview.getWebviewById(url)) return false;  
        var allWebviews = plus.webview.all();  
        for (var i = 0; i < allWebviews.length; i++) {  
            if (allWebviews[i]==mui.currentWebview) {  

            } else {  
                allWebviews[i].close('none');  
            }  
        }

暂时只能这样做了,就怕用户在安卓手机上点返回键,对按键的处理不给力嘛!

DCloud_heavensoft

DCloud_heavensoft

hide并不卡,是不是有其他干扰造成你感觉hide卡?
我们在低端机测试,开30个hide的webview都没影响。

另外webview不变,靠loadurl后台切换页面,切换完成再显示也是一种不错的方案。

  • 地图

    webview不变,loadurl后台切换,关键是load完成后,不会触发loaded事件,导致不能正常显示啊。

    2015-08-04 21:12

DCloud_UNI_CHB

DCloud_UNI_CHB

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