如题,旧的页面是不是还在内存中存在,一般的页面跳转是不是用超链的方式更好?红米1手机调用拍照功能,在拍完照片,点击确认对号的时候,我的应用经常性的重启到登陆页面,会不会是内存占用的问题?

- 发布:2015-05-14 14:21
- 更新:2015-05-14 16:49
- 阅读:7770

不能每次用mui.openWindow。
不用的webview要close,一个webview被close后会露出其他没有被close的webview。
跳转页面要用plus.webview.show方法,新开重复的webview当然是多消耗内存的。
具体参考 http://www.html5plus.org/doc/zh_cn/webview.html
mui里与webview相关的部分,只是对plus.webview的常用操作做了一些封装,让常用的操作调用更简单。但更全面的api,都在plus.webview里。

希望这个能参考一下apicloud,他们的做法是如果这个webview已经存在,再次open的时候,会把这个webview提到最前来,我觉得这个做法挺好的,在plus.open的时候加一个参数来控制是否再开一个相同的。而且我觉得这个改动应该不难

若打开页面使用的是mui.openWindow方法,关闭页面同样使用mui封装的关闭按钮或mui.back,则关闭页面时会自动close webview,不会在内存中存在冗余的webview;
你可以通过如下js代码检测内存中是否存在冗余、重复的webview:
var array = plus.webview.all();
if(array){
for(var i=0,len=array.length;i<len;i++){
console.log(array[i].getURL());
}
}
确认一下你的情况在其它手机上是否存在,也可以把测试代码发过来,我们帮忙验证。

Danny - QQ125904483
不可以每次都是用openWindow来打开窗体,如果存在同ID的WV,会出现莫名的问题,WV过多也会直接导致效率低下,每次openWindow之前得先判断,如果存在就get一下,然后show出来,建议官方可以重写一个openWindow,打开之前先验证。
这个问题就是重复加载了一样的WV所致:
http://ask.dcloud.net.cn/question/5237
冰鱼 (作者)
好的,谢谢
2015-05-14 16:26