uniSDK:3.6.5
电脑系统:Mac
手机:vivo S15(大部分手机都会触发)
问题描述:
在App中打开从列表页面打开这个加载web-view的页面,正常打开,重复多次打开不同的加载web-view的页面,在差不多9-20次左右就会触发闪退,跟web-view的页面大小有关系,可以试一下https://boardmix.cn/app/网站创建的文件
地址例子:
在web上打开https://boardmix.cn/app/,创建文件,
打开文件后地址就变成https://boardmix.cn/app/editor/xtHsIxc_72Rt9QWLB9c95g,
复制地址变成https://boardmix.cn/app/editor/xtHsIxc_72Rt9QWLB9c95g?isApp=1在App上打开
demo
<template>
<view>
<web-view ref="webview" :src="editorUrl" @message='onMessage' class="webview"></web-view>
</view>
</template>
<script>
import { computed, onMounted, ref,defineComponent } from "vue";;
let wv:PlusWebviewWebviewObject|null = null;
let timer:NodeJS.Timeout|null = null;
export default defineComponent({
data() {
return {
}
},
setup(props:any){
return {
editorUrl:`https://boardmix.cn/app/editor/${props.fileKey}?isApp=1`,
fileKey:props.fileKey||'',
styles:{
progress:{
color: '#FF3333'
},
width:"750rpx",
height:"600rpx"
}
}
},
onLoad(){
this.init()
},
onShow(){
console.log("====编辑页-onShow====");
},
onHide() {
console.log("执行onHide清除")
timer&&clearTimeout(timer);
wv = null;
timer = null
},
onUnload(){
console.log("执行honUnload清除");
timer&&clearTimeout(timer);
wv = null;
timer = null
},
onResize() {
wv&&wv.setStyle({
top:this.getBarHeight()+'',
left:"0",
bottom:"0",
right:"0"
})
},
methods:{
onMessage(event:any){
console.log("====editor==",event)
let data = event.detail.data;
this.handleMessage(data[0])
},
postMessage(key: string | number, data?: any) {
// 推送消息
// wv&&wv.evalJS(`onMessageFromUniapp(${key},${JSON.stringify(data)})`);
},
init(){
this.getVw()
},
handleMessage(data) {
console.log("message key", data);
// 业务处理
},
getVw(){
let currentWebview = this.$scope.$getAppWebview();
if(currentWebview.children()&¤tWebview.children()[0]){
wv = currentWebview.children()[0] as PlusWebviewWebviewObject;
wv.setStyle({
top:this.getBarHeight()+'',
left:"0",
bottom:"0",
right:"0"
});
}else{
timer&&clearTimeout(timer);
timer = setTimeout(()=>{
this.getVw()
},50)
}
},
getBarHeight(){
return uni.getSystemInfoSync().statusBarHeight || 0;
}
}
})
</script>
<style scoped>
.webview{
width: 750rpx;
height: 600px;
}
</style>
我在Android studio上获取的调试日志
聪大帅 (作者)
是用的web-view组件,关闭当前页面回退到上一页列表页,有关闭的
2023-01-03 15:50
DCloud_Android_ST
回复 f***@300624.cn: 提供个示例demo 我们这边测试看看
2023-01-03 16:40
聪大帅 (作者)
回复 DCloud_Android_ST: 可以直接给你Apk吗
2023-01-03 19:02
DCloud_Android_ST
回复 f***@300624.cn: HX测试demo 附近上传
2023-01-03 19:45
聪大帅 (作者)
回复 DCloud_Android_ST: 内部不允许上传代码,要内审比较麻烦,我搞定了在发demo吧
2023-01-10 17:25