纯 nvue项目(uniapp模式)。编辑器版本 2.4.0.20191112-alpha
uni.getSystemInfo 获取屏幕的高有获取错的情况。我把获取屏幕高放到组件就出现了。多次测试多个设计都出现
我上传了完整demo代码,请管理员下载执行看看。console.log 会把数据打印出来, at components/myList/myList.js:36
【ios正常】【安卓不行】
多运行,或者打开几次会得到不一样的结果
小米MI 8 第一种结果
{
"errMsg": "getSystemInfo:ok",
"brand": "Xiaomi",
"model": "MI 8",
"pixelRatio": 2.75,
"screenWidth": 392,
"screenHeight": 817,
"windowWidth": 392,
"windowHeight": 817,
"statusBarHeight": 32,
"language": "zh",
"system": "9",
"version": "1.9.9.70959",
"fontSizeSetting": "",
"platform": "android",
"SDKVersion": "",
"windowTop": 0,
"windowBottom": 0,
"safeArea": {
"left": 0,
"right": 392,
"top": 32,
"bottom": 817,
"width": 392,
"height": 785
}
}
小米MI 8 第二种结果
{
"errMsg": "getSystemInfo:ok",
"brand": "Xiaomi",
"model": "MI 8",
"pixelRatio": 2.75,
"screenWidth": 392,
"screenHeight": 817,
"windowWidth": 392,
"windowHeight": 741,
"statusBarHeight": 32,
"language": "zh",
"system": "9",
"version": "1.9.9.70959",
"fontSizeSetting": "",
"platform": "android",
"SDKVersion": "",
"windowTop": 0,
"windowBottom": 0,
"safeArea": {
"left": 0,
"right": 392,
"top": 0,
"bottom": 741,
"width": 392,
"height": 741
}
}
oppo R11 第一种结果
{
"errMsg": "getSystemInfo:ok",
"brand": "OPPO",
"model": "oppo R11",
"pixelRatio": 2,
"screenWidth": 405,
"screenHeight": 720,
"windowWidth": 405,
"windowHeight": 720,
"statusBarHeight": 24,
"language": "zh",
"system": "6.0.1",
"version": "1.9.9.70959",
"fontSizeSetting": "",
"platform": "android",
"SDKVersion": "",
"windowTop": 0,
"windowBottom": 0,
"safeArea": {
"left": 0,
"right": 405,
"top": 24,
"bottom": 720,
"width": 405,
"height": 696
}
}
oppo R11 第二种结果
{
"errMsg": "getSystemInfo:ok",
"brand": "OPPO",
"model": "oppo R11",
"pixelRatio": 2,
"screenWidth": 405,
"screenHeight": 720,
"windowWidth": 405,
"windowHeight": 652,
"statusBarHeight": 24,
"language": "zh",
"system": "6.0.1",
"version": "1.9.9.70959",
"fontSizeSetting": "",
"platform": "android",
"SDKVersion": "",
"windowTop": 0,
"windowBottom": 0,
"safeArea": {
"left": 0,
"right": 405,
"top": 0,
"bottom": 652,
"width": 405,
"height": 652
}
}
raise (作者)
会不会你们的安卓手机性能都太好。我用mumu(模拟器)和小米8手机(真机)都可以复现
2019-11-13 16:19
DCloud_uniCloud_WYQ
回复 raise: 加了延迟之后正常不
2019-11-13 17:21
raise (作者)
回复 DCloud_uniCloud_WYQ: 果然时机问题。这样算bug吗?越差性能到安卓手机时机就越晚。延迟多少毫秒合适不好把我。
怀念mui时代到 ready事件。个人认为video组件和其他比较重到组件都需要ready时间感觉。
比如video差的时机还没ready好就直接触发播放事件就会死机白屏等【曾尝试自己封装安卓的video播放器组件就可以避免差的安卓手机做视频播放功能崩溃】。目前我的仿抖音的app性能使用起来非常好,就是差一点的安卓手机会开机的时候死机白屏等问题出现。
2019-11-13 22:41
raise (作者)
回复 DCloud_uniCloud_WYQ: 那就是确实存在bug部分机型组件内mounted时机 无法正确uni.getSystemInfo 获取屏幕的高
2019-11-14 13:46
DCloud_uniCloud_WYQ
回复 raise: 修复已经在计划中了,感谢关注
2019-11-14 15:13
raise (作者)
回复 DCloud_uniCloud_WYQ: 请点一下【bug已确认】给我加分嘻嘻。
2019-11-14 15:43
DCloud_uniCloud_WYQ
回复 raise: BUG还没复现出来,先给你加个分
2019-11-14 16:56