compose 使用性能问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rcj6056
V2EX    Kotlin

compose 使用性能问题

  •  
  •   rcj6056 1 小时 40 分钟前 532 次点击

    请教下 在用 compose 写页面的时候 如果页面比较复杂 逻辑比较多 对比下用以前 xml 的写法来处理 性能上会好些吗

    我只了解每个 view 都是会走测量绘制流程的 但是 compose 这种怎么体现出来的 我感觉大量的 compose 组件肯定也会导致这种绘制卡顿的问题吧

    这块没接触过 有老哥知道嘛

    11 条回复    2025-11-25 11:40:08 +08:00
    cenbiq
        1
    cenbiq  
       1 小时 32 分钟前
    看你是哪种复杂,我在性能极低的设备上测试过(rk3568),compose 平铺绘制 10*10 显示 100 个对象状态的的 grid ,和使用 xml/view 绘制,compose 初始渲染需要 0.5s-1s (也可能是我优化问题,但我尽量优化了),xml 布局则完全无延迟。不过这两种性能差距在正经手机上运行几乎没有差异
    shakukansp
        2
    shakukansp  
       1 小时 30 分钟前
    用户有列表有 200 多个项目的

    没听用户说卡过

    有 lazy column
    rcj6056
        3
    rcj6056  
    OP
       1 小时 19 分钟前
    @cenbiq 我也用过 rk 板
    你这个是怎么优化的 好奇

    感觉老哥你做性能方面的东西的吧

    请问下 关于内存泄漏这种问题 一般怎么处理的
    比方查到的某个页面存在泄漏 怎么去查看调用链 怎么去处理分析 有做过么
    auhah
        4
    auhah  
       1 小时 18 分钟前
    关注一下。。。我用 compose 开发了些复杂列表(横竖列表/pager 嵌套),实现难度上远低于原生, 能想到的点都优化了一下,release 包流畅性感觉还行
    rcj6056
        5
    rcj6056  
    OP
       1 小时 18 分钟前
    @shakukansp 这个我知道 我只是好奇 2 种不同的方式他的原理是啥 既然 compose 是新的东西 肯定有他的优势的地方嘛
    wow0o
        6
    wow0o  
       1 小时 15 分钟前
    其实这么多年了 xml 所谓的解析耗时, 早都优化了..
    rcj6056
        7
    rcj6056  
    OP
       1 小时 6 分钟前
    @auhah 你是说 实际上在复杂场景上 compose 开发的流畅度上 跟原生区别不大嘛?
    LLLeo
        8
    LLLeo  
       35 分钟前
    如果是大数据列表,还是用原生。我自己做的离线播放器项目就是这么处理的。一开始用的是 Compose 的列表视图,效果不是很好。其他的主要是降低重组次数
    auhah
        9
    auhah  
       29 分钟前
    @rcj6056 是没有明显感觉到卡顿。。没和原生做对比,性能肯定比原生差的。。。尤其是列表性能

    在我这快速做完上去是第一位的,性能不拖后腿就行,用户量没那么大,少量性能差别不在技术栈抉择范围内
    liuchenx
        10
    liuchenx  
       23 分钟前
    原生 xml 多级嵌套,控制不好会导致页面重绘,即 draw 多次执行,compose 组件嵌套可以理解为多个 if else 判断,其实都是在一次 draw 里面处理的,所以嵌套理论上不会影响性能,性能的影响主要在 state
    RightHand
        11
    RightHand  
       16 分钟前 via Android
    理论上高于 xml 的,但是从 xml 转的基本都会有性能问题,要变换思路
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4895 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 03:56 PVG 11:56 LAX 19:56 JFK 22:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86