FrameLayout调用addView方法产生的丢帧现象

由于项目需要,使用的是Dialog来布局的,所有的页面都是放在Dialog里的,所以为了性能和优化考虑,分拆模块,都是使用FrameLayout来作为壳布局的,子模块通过addView添加进去的,小米Max2手机一切正常,使用华为mate20时,鸿蒙系统,有半数页面产生了频繁的丢帧现象,百度半天,还是看了下View刷新机制,链接如下:
Android 屏幕(View)刷新机制(原理)_蒙的博客-CSDN博客_view刷新机制前言:在平时开发项目的时候我们都知道生成一个view加入到window中,或者对显示的view调用其属性改变的方法亦或者启动在某个view上配置的动画就会让屏幕进行刷新达到自己想要的ui效果。但是咱们的代码是怎么触发屏幕刷新或者说系统是用怎样的机制去刷新屏幕改变的view属性的很多人还是不太清楚。当然最开始我也是没有系统的梳理过,前段时间经过对一些文章博客的阅读和系统源码的梳理我才有了较为清晰的感...https://blog.csdn.net/mysimplelove/article/details/92635237?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_index=2

大概了解了点,试过requestLayout()、invalidate()方法,均无明显效果,最后不死心试了下postInvalidate(),居然可以了,记录一下,供大家参考使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值