V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dai269619118
V2EX  ›  程序员

flutter 项目在小米 Pad 分屏的时候会直接白屏

  •  
  •   dai269619118 · 22 天前 · 2212 次点击

    有用户反馈小米在应用分屏的时候会白屏。

    就买了一个设备做测试。

    开始测试的时候发现有些页面正常,有些是白屏。

    后面找到了原因:

    return Scaffold(
      appBar: AppBar(
        title: Text('Account'),
      ),
      backgroundColor: Theme.of(context).colorScheme.surfaceVariant,
      body: Text('Account'),
    );
    

    只要存在 appBar ,在分屏的时候就会白屏。

    原本以为是我产品使用了大量组件是不是有其他兼容的问题

    直接重新创建一个新的 flutter 项目,demo 里只要存在 appBar 也是白屏。

    这么重要的组件小米竟然有兼容问题,有点离谱...

    网上搜了下解决方案 要对每个文件加兼容代码,也没继续尝试。

    这样每写一个组件都要加这个兼容代码 这也太恶心了。

    不知道大家有没有好的解决方案。

    第 1 条附言  ·  22 天前
    flutter 3.2
    Pad 设备是 Xiaomi Pad 7Pro
    系统版本:2.0.202.0
    第 2 条附言  ·  22 天前
    还有一台红米 Xiaomi Pad 6
    系统最新版本:2.0.9.0
    这个设备下是正常的
    第 3 条附言  ·  22 天前
    这是一个非常基础的组件
    appabr 几乎每个页面都会用到
    在大部分设备下没兼容问题,更不要提原生安卓了
    小米部分系统版本下跑不起来
    那我觉得是小米系统的问题
    18 条回复    2025-06-23 17:20:18 +08:00
    anbabubabiluya
        1
    anbabubabiluya  
       22 天前
    我这有的 flutter 应用是小窗白屏,但是分屏正常,更新系统后就这样了,上一个系统版本是正常的,应该是小米系统的问题
    murmur
        2
    murmur  
       22 天前
    这就奇怪了,flutter 就是个 canvas ,小米怎么兼容啊,要是 rn 还可以怪一下小米
    irrigate2554
        3
    irrigate2554  
       22 天前
    给 flutter 官方和小米官方都提交一下 bug 吧
    dai269619118
        4
    dai269619118  
    OP
       22 天前
    @anbabubabiluya 是的 老版本不会 好像是 flutter 的 ui 更新到 m3 之后出现的
    dai269619118
        5
    dai269619118  
    OP
       22 天前
    @irrigate2554 嗯嗯 我去反馈下
    DiamondYuan
        6
    DiamondYuan  
       22 天前
    是不是可以设置 app 不允许分屏? 这样 bug 就不会出现了
    Gilfoyle26
        7
    Gilfoyle26  
       22 天前
    《要对每个文件加兼容代码》那还不如写原生了
    aaronzhang404
        8
    aaronzhang404  
       22 天前
    小米 15pro
    2.0.206
    flutter 3.27.2
    复现

    如果是小米的骁龙 elite ,flutter 使用 Impeller‌会出现渲染问题,需要改回 skia 。VIVO 的 elite 没有问题。
    duanxianze
        9
    duanxianze  
       22 天前
    赞同 2 楼,这玩意小米要怎么兼容啊
    realpg
        10
    realpg  
    PRO
       22 天前
    @murmur #2
    @duanxianze #9
    遇事不决先喷小米就是政治正确嘛...
    别的厂怎么不出问题.jpg
    NoManPlay
        11
    NoManPlay  
       22 天前
    想起来前几天看的 小米看海绵宝宝导致死机,最后是底层 api 的问题
    https://www.bilibili.com/video/BV1c5NxzqEpa
    dai269619118
        12
    dai269619118  
    OP
       22 天前
    @duanxianze
    @realpg
    @NoManPlay
    不知道你们做过 flutter 开发没
    这是一个非常基础的组件
    appabr 几乎每个页面都会用到
    在大部分设备下没兼容问题,更不要提原生安卓了
    小米部分系统版本下跑不起来
    那我觉得是小米系统的问题
    这逻辑应该没问题
    WebKit
        14
    WebKit  
       21 天前
    这个就很奇怪。flutter 按理说 手机系统是不需要做任何兼容的。flutter 是完全自绘制 UI 的。感觉应该是使用了 Impeller‌ 造成的。不如回退到 skia 试试
    v2demo
        15
    v2demo  
       21 天前
    在 android 项目里面集成下 androidx.window:window:x.x.x 试试
    qianxaingmoli
        16
    qianxaingmoli  
       21 天前
    dai269619118
        17
    dai269619118  
    OP
       21 天前
    @qianxaingmoli
    @xkeyC 他遇到的问题 和我的很像 应该是属于同一类问题
    dai269619118
        18
    dai269619118  
    OP
       21 天前
    @v2demo 谢谢 我去加下试试看
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5343 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:15 · PVG 16:15 · LAX 01:15 · JFK 04:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.