HarmonyOS Web嵌套之后多开几个页面,然后跳转到之前的页面,加载会白屏之后显示
web容器加载html调用全屏接口,在跳转5次后,第六次跳转会出现web白屏。使用最新特性离线组件,离线组件中的Text标签正常展示,但是web容器中的html展示异常,而且确定组件树上有web节点。如果不调全屏接口,跳转页面正常,跳转多次也不会白屏。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS web组件设置一定高度之后页面无法加载
507浏览 • 1回复 待解决
Web组件加载某个页面,出现白屏、页面显示不出来,如何解决和定位
3013浏览 • 1回复 待解决
离线web多web实例跳转场景下跳转到最后页面,点击pop返回时页面白屏,组件树Nodecontainer大小为【0, 0】
2224浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现Web页面跳转到应用内部页面?
524浏览 • 1回复 待解决
router跳转页面后,在返回之前的页面,之前的页面dialog弹框小时
2466浏览 • 1回复 待解决
HarmonyOS web嵌套到scroll里面之后获取的高度不对
844浏览 • 1回复 待解决
HarmonyOS web加载页面图片不显示
1057浏览 • 1回复 待解决
HarmonyOS 跳转应用授权页面白屏
416浏览 • 1回复 待解决
HarmonyOS 发布Notification之后点击通知如何打开跳转指定页面
390浏览 • 1回复 待解决
HarmonyOS 登录模块的页面可以跳转到我的模块的页面, 我的模块的页面可以跳转到登录模块页面
531浏览 • 1回复 待解决
HarmonyOS 怎么跳转到系统页面
547浏览 • 1回复 待解决
HarmonyOS 跳转到系统通知管理页面,目前只能跳转到应用的设置首页,希望跳转到具体通知管理页面
466浏览 • 1回复 待解决
HarmonyOS web页面如何使用deeplink跳转到系统地图
457浏览 • 1回复 待解决
HarmonyOS terminateSelf之后仍然后台可见
229浏览 • 1回复 待解决
HarmonyOS CustomDialog 中使用 pushPathByName 跳转新页面之后页面和对话框层级问题
930浏览 • 1回复 待解决
HarmonyOS tab个人中心页面跳转到登录页面,从登录页返回到首页之后无法二次进入到登录页
320浏览 • 1回复 待解决
HarmonyOS 跳转到其他页面后dialog还是显示在上面
190浏览 • 1回复 待解决
如何跳转到WIFI列表页面?
877浏览 • 1回复 待解决
eTS发布发布Notification之后点击通知如何打开跳转指定页面?
4039浏览 • 1回复 待解决
HarmonyOS 首页lottie动画一直执行,页面跳转之后还在执行
275浏览 • 1回复 待解决
HarmonyOS如何跳转到发短信页面
1108浏览 • 1回复 待解决
HarmonyOS 如何跳转到应用设置页面?
769浏览 • 1回复 待解决
HarmonyOS navigation跳转不存在的url,不会抛异常,会跳转到空白页面
531浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现从Web页面跳转到系统应用?
621浏览 • 1回复 待解决
HarmonyOS customdialog使用了router跳转到其他的page之后仍然显示在上面,要如何解决
230浏览 • 1回复 待解决
当前web使用BuilderNode通过无状态的UI方法@Builder生成离线web组件。此时创建的web组件是无状态的。
来回切换多次,会创建多个离线web组件,当web创建超过5个时,会触发tabdiscarding机制,冻结部分web实例,使其无法渲染(后台释放资源节省内存),调用全屏接口后,当前调用的web实例被一致被判断为前台,所以一致处于 active状态。后面再次创建的无状态web则被定义为inactive状态。
更详细来讲其实就是一个Frame Eviction Manager机制,是负责管理web中的帧缓存,根据一定的策略将一些不常用或者不重要的帧从内存中移除,以释放内存空间,节省内存提高稳定性。对应的是web源码中的max_number_of_saved_frames_字段,其设置的最大值为5
在每次创建好web实例,调用loadurl时,设置WebController的onActive方法主动激活状态即可解决此问题。需要应用调用相关接口。离线web释放需要先对使用的framenode进行释放,才可析构离线web组件。
参考代码:
解决这个问题 主要是加载的时候 要用 controller的方法 onActive this.controller.onActive。