flutter app, android, 从后台切换到前台黑屏问题

52 天前
 einvcz

https://github.com/flutter/flutter/issues/93276

问题现象描述: 黑屏,但组件仍然是有效的(例如:用 GestureDetector 包裹起来,仍可以点击)。

麻了已经。

这个问题,大家遇到过吗,怎么解决的呢

以你的视角来看,问题出在哪里

687 次点击
所在节点    问与答
10 条回复
whiteu
52 天前
调试模式吗
einvcz
52 天前
@whiteu 调试模式和 release 都有
einvcz
52 天前
有以下信息:

黑屏,但组件仍然是有效的(例如:用 GestureDetector 包裹起来,仍可以点击)。

新创建的 Demo 都有问题,所以大概率是 Flutter 自身的问题。

且受设备影响,并不是在所有设备上都有问题。

复现操作: 打开 App ——> 保持在前台 ——> 息屏 ——> 亮屏解锁,恢复到前台。

有时候重复操作几次就复现, 有时候连续重复 30 分钟才出现(没错,我真这么干了)。

头疼,找不到问题。

我有一下猜测:
黑屏后仍然能操作组件,问题出在显示上。
生命周期不同步?
自己不懂安卓,没法自己探索这个问题,完全不知道从哪下手。💀💀
这个问题好像也持续挺久了,github 的 issue 还是 2021 年的🤣
okakuyang
51 天前
你这个在你贴的链接上不是有解决方案了吗?好像已经合并进主分支了。
einvcz
51 天前
@okakuyang 不管用🤣🤣
einvcz
51 天前
@okakuyang 切换到 master 分支、升级 flutter 版本都试了,还是有问题
okakuyang
51 天前
@einvcz 我的一个思路,这个看起来是 flutter 的 sufaceView 挂掉了,看链接里其他人贴的一些反馈是,sufaceView 错误的 surfaceCreated 调用造成的。
okakuyang
51 天前
@einvcz 可以搜索一下有没有方法让 flutter 重新渲染,比如设置可见不可见状态,移除 fultterView 重新创建...等方法。然后在每次解锁的时候延迟几帧去检查屏幕的颜色,如果是黑色的,那就让 flutter 重新渲染。
einvcz
51 天前
@okakuyang 好的,谢谢
einvcz
12 天前
结帖: 大概率是手机的问题,没找到解决办法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1024355

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX