ConstraintLayout在复杂布局中,出现卡顿问题解决记录

本文讨论了ConstraintLayout在实际项目中遇到的性能问题,如图片背景下布局卡顿和文字轮播重置,提出了两种解决方案:避免在界面一开始就计算所有布局,以及处理选中状态以减少布局变动引发的重绘。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ConstraintLayout在画界面的过程中,确实带来了不少的方便,随着使用的越来越多,也发现了一些问题,特此记录一下问题和解决方案。

在背景为图片,而背景图片宽度固定高度自适应的情况下,布局显示在图片固定位置,并且一个界面中这种情况很多时,在进入这个界面的时候就会出现卡顿的情况,因为计算量比较大,我当时就是第一次切换到这个Fragment时会卡顿2-3秒,体验很差,解决办法1.不用ConstraintLayout布局,还是用传统的布局嵌套模式。2.坚持用ConstraintLayout,在进入的时候让布局隐藏,数据加载完成的时候再显示全部布局,相当于懒加载,这样进入的时候布局是Gone,不会进行计算位置和大小,切换就会很快,并且用户感知不到。我遇到的第二个问题是,界面上有文字轮播,当界面上点击选中布局中一个选项设置选中状态时,文字轮播就会重置,这就是因为布局变化要重新计算布局位置及大小,导致轮播TextView发生重绘,我目前解决的方案是,选中状态用和原图片大小一样的图片,这样布局不变化,就不会发生重新计算重绘布局问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值