HarmonyOS 控件显示或者隐藏,采用if判断或者Visibility.Visible哪个性能更高
控件显示或者隐藏,采用if判断或者Visibility.Visible哪个性能更高
代码片段如下
if (this.isShow) {
Text('测试文本1')
.width(100)
.height(60)
}
Text('测试文本2')
.width(100)
.height(60)
.visibility(this.isShow ? Visibility.Visible : Visibility.Hidden)
Button('点击测试')
.onClick(() => {
this.isShow = true;
})
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS callback和await哪个性能好?
441浏览 • 1回复 待解决
HarmonyOS 自定义组件最外层定义visibility属性为Visible后,组件加载完成不显示了
461浏览 • 1回复 待解决
HarmonyOS 有方法可以判断Search这个控件当前是否有焦点或者有光标吗
423浏览 • 1回复 待解决
HarmonyOS 如何在Pages中设置当前Page页面顶部状态栏显示或者隐藏?
594浏览 • 1回复 待解决
TextInput的visibility属性设置为Hide或者None之后是否可获焦
730浏览 • 1回复 待解决
HarmonyOS MapKit 创建的折现是否可以删除或者隐藏
454浏览 • 1回复 待解决
HarmonyOS 怎么判断是否镜像语言或者维吾尔语
441浏览 • 1回复 待解决
HarmonyOS 有没有判断类或者库是否存在的方法
302浏览 • 1回复 待解决
HarmonyOS 如何隐藏底部虚拟建,或者计算出高度的方法
200浏览 • 1回复 待解决
HarmonyOS List控件如何控制滑动或者List如何从底部绘制
1614浏览 • 1回复 待解决
HarmonyOS 怎么判断手机有没有修改过指纹或者面容
463浏览 • 1回复 待解决
HarmonyOS Video控件隐藏操作栏
232浏览 • 1回复 待解决
HarmonyOS Map和HashMap有什么区别,增删改查哪个效率更高,为什么?,推荐用哪个?
676浏览 • 1回复 待解决
或者判断一个应用是否在桌面上显示图标?
537浏览 • 0回复 待解决
HarmonyOS 是否提供有单页面设置该页面全屏展示,或者隐藏状态栏或者底部导航栏的API接口
284浏览 • 1回复 待解决
如何判断是否安装某App?或者可正常换起某App?
649浏览 • 0回复 待解决
HarmonyOS TabContent控制显示隐藏
294浏览 • 1回复 待解决
HarmonyOS 显示动画是否可以暂停或者取消再重新设置动画 ?
614浏览 • 1回复 待解决
HarmonyOS 怎么判断avplayer是否还能用,或者还有其他办法能重置avplayer吗
340浏览 • 1回复 待解决
getContext()==null 这个问题谁处理过,或者哪个大神有解决方案啊
5949浏览 • 2回复 待解决
HarmonyOS Web组件加载本地pdf文件后,默认显示标题和下载按钮,可以隐藏或者有对应的操作这个title的API吗?
214浏览 • 1回复 待解决
HarmonyOS 组件通过if条件渲染或visibility显隐控制,性能上如何选择?
457浏览 • 1回复 待解决
HarmonyOS web监听键盘显示隐藏
406浏览 • 1回复 待解决
父控件怎么才能使用到子控件的方法或属性,或者将子控件将一些方法或属性怎么回调给父控件
2009浏览 • 1回复 待解决
HarmonyOS Text包裹n个span,如何判断Text组件出现Ellipsized,或者超过几行呢
181浏览 • 1回复 待解决
开发者可以通过if条件渲染或visibility显隐控制,实现组件的展示和隐藏状态的切换,两者的作用方式区别如下:
通过if进行条件渲染,其作用方式是满足条件时创建、未满足条件时销毁组件:
只有在满足条件时,组件才会被创建。
条件不满足时,组件会被销毁,不会挂载在组件树上。
通过visibility进行显隐控制,根据参数值,控制当前组件显示或隐藏:
初始时,无论是否显示,组件都会被创建。
隐藏时,组件不会被销毁,会继续挂载在组件树上,只是状态为不可见。
场景选择
关于if条件渲染或visibility显隐控制,实现组件的展示和隐藏状态的切换,两者的优势场景分别如下:
显隐控制的优势场景:
如果组件动效占用较多、频繁地在展示和隐藏间切换时,建议使用显隐控制替代条件渲染,以避免组件的频繁创建与销毁,提升性能。
https://gitee.com/openharmony/docs/blob/700d5ac401d773f25d6bce0dd8b1ed22a24e2216/zh-cn/application-dev/performance/reduce-view-nesting-levels.md
条件渲染的优势场景:
在应用冷启动阶段,应用加载绘制首页时,如果组件初始不需要显示,建议使用条件渲染替代显隐控制,以减少渲染时间,加快启动速度。
https://gitee.com/openharmony/docs/blob/700d5ac401d773f25d6bce0dd8b1ed22a24e2216/zh-cn/application-dev/performance/reduce-redundant-operations-when-render-first-frame.md
如果组件动效占用较少或无动效、不会较频繁地在展示和隐藏间切换,或者大部分时间不需要显示,建议使用条件渲染替代显隐控制,以减少界面复杂度、减少嵌套层次,提升性能。
如果被控制的组件所占内存庞大,开发者优先考虑内存时,建议使用条件渲染替代显隐控制,以即时销毁不需要显示的组件,节省内存