z***@hotmail.com
z***@hotmail.com
  • 发布:2021-01-16 20:26
  • 更新:2021-01-17 12:08
  • 阅读:573

【报Bug】5+app项目,编译提交后,有概率在较低配置的机型上出现白屏

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 3.0.5

手机系统: iOS

手机系统版本号: iOS 12.4

手机厂商: 苹果

手机机型: iphon 6, ipad

打包方式: 云端

示例代码:
mounted: function() {  
    var self = this  
    self.form.account = localStorage.getItem('loginAccount') || ''  
    localStorage.setItem(tokenName, '')  
    this.isTablet = os.isTablet  
    mui.plusReady(function() {  
        plus.navigator.closeSplashscreen();  

        console.log('------------------plus ready--------------------')  
        plus.geolocation.getCurrentPosition(self.successCallback, function(e) {  
            console.log('------------------geolocation error--------------------')  
            console.log(JSON.stringify(e))  
            var msg = "";  
            switch(e.code) {    
                case 1:    
                    msg = "GPS访问被拒绝 或 GPS未开启";    
                    break;    
                case 2:    
                    msg = "位置信息不可用";    
                    break;    
                case 3:    
                    msg = "获取用户位置的请求超时";    
                    break;    
                default:    
                    msg = e.message;    
                    break;    
            }    
            mui.toast(msg);  
        }, {  
            provider: 'amap'  
        });  
    })  

    this.initPage()  

    mui('.mui-checkbox').on('change', 'input', function() {  
        self.isPolicyAccepted = this.checked;  
        console.log(self.isPolicyAccepted)  
    });  
},

操作步骤:

重现过程

1) 后来我在本机多次尝试重试, 在iOS14.2 和14.3下面都始终无法重现.
2) 之后使用一个iphone 6手机, 操作系统为12.5.1,多次尝试后重现.
尝试步骤: 先启动一个大游戏程序, 然后关闭应用, 重新启动应用,多次尝试后,应用就出现白屏现象
3) 尝试在低配置andoid下重现, 发现会出现白屏,但是稍等几秒后会逐步展示程序

预期结果:

期望正常呈现页面

实际结果:

白屏, 什么内容都没有

bug描述:

问题描述

通过云端打包并且发布后,提交苹果审核, 反馈给我结果是无加载内容,白屏,苹果给我回复的截图如下:
他们使用的环境是: - Device type: iPad - OS version: iOS 14.3

这个问题之前开发过程中从未出现.

个人理解

我99%可以判定是代码还没有进入mui.plusReady的逻辑, 否则即使未执行任何操作,对应的html内容也应该出现.
很有可能是在进入plusReady之前, 系统就白屏状态, 然后应为某种内存/性能的原因,造成系统处理出错.

2021-01-16 20:26 负责人:无 分享
已邀请:
z***@hotmail.com

z***@hotmail.com (作者)

补充信息

后来我通过真机调试也实现了重现,重现环境:
iOS: 12.5.1,
型号: iphone 6手机

另外做了如下尝试:
1) 在manifest.json里面加入如下配置项目, 后来替换为WKWebview, 发现效果差不多

    "kernel" : {  
    "ios" : "UIWebview"  
    }

2) 在代码中加入timer, 每秒钟查看element是否存在

        timerfunc (){  
            var self = this  
            //read elemet  
            var cloud = document.getElementsByClassName("flex-bd")   
            console.log('-----------------------timerfunc---------------' + JSON.stringify(cloud))  
            //next timer  
            setTimeout(self.timerfunc, 1000)  
        },

通过测试, 可以确定代码已经正确完成了 mui.plusReady. 所以基本排除代码内的问题.
此外,检查打印日志,发现原本应该1秒一次的日志, 出现不规则情况,有时10秒,有时8秒. 表明系统内的执行受到了严重干扰.日志如下:
12:03:11.370 -----------------------timerfunc---------------{"0":{"_prevClass":"flex-bd curr"},"1":{"_prevClass":"flex-bd"},"2":{"_prevClass":"loginRight flex-bd"}}
12:03:12.363 -----------------------timerfunc---------------{"0":{"_prevClass":"flex-bd curr"},"1":{"_prevClass":"flex-bd"},"2":{"_prevClass":"loginRight flex-bd"}}
12:03:22.785 -----------------------timerfunc---------------{"0":{"_prevClass":"flex-bd curr"},"1":{"_prevClass":"flex-bd"},"2":{"_prevClass":"loginRight flex-bd"}}
12:04:07.464 -----------------------timerfunc---------------{"0":{"_prevClass":"flex-bd curr"},"1":{"_prevClass":"flex-bd"},"2":{"_prevClass":"loginRight flex-bd"}}
12:04:15.740 -----------------------timerfunc---------------{"0":{"_prevClass":"flex-bd curr"},"1":{"_prevClass":"flex-bd"},"2":{"_prevClass":"loginRight flex-bd"}}
12:04:18.892 -----------------------timerfunc---------------{"0":{"_prevClass":"flex-bd curr"},"1":{"_prevClass":"flex-bd"},"2":{"_prevClass":"loginRight flex-bd"}}
12:04:25.239 -----------------------timerfunc---------------{"0":{"_prevClass":"flex-bd curr"},"1":{"_prevClass":"flex-bd"},"2":{"_prevClass":"loginRight flex-bd"}}
12:04:28.391 -----------------------timerfunc---------------{"0":{"_prevClass":"flex-bd curr"},"1":{"_prevClass":"flex-bd"},"2":{"_prevClass":"loginRight flex-bd"}}
12:04:48.185 -----------------------timerfunc---------------{"0":{"_prevClass":"flex-bd curr"},"1":{"_prevClass":"flex-bd"},"2":{"_prevClass":"loginRight flex-bd"}}

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