本发明涉及flutter组件开发,尤其涉及一种flutter组件的重绘方法、装置及电子设备。
背景技术:
1、flutter是一个高性能、开放的ui框架,用于创建精美、流畅的原生界面。在flutter中,组件是用户界面构建的基本单元,而组件的渲染过程对于应用的性能至关重要。
2、在flutter组件开发时,flutter组件在渲染过程中,即使组件的属性没有发生变化,也会导致组件重新渲染,当渲染这个组件比较耗时就会导致整个渲染流程卡顿,继而导致软件不流畅,重绘次数较高。
技术实现思路
1、有鉴于此,有必要提供一种flutter组件的重绘方法、装置及电子设备,用以解决现有flutter组件在渲染过程中重绘次数较高的问题。
2、为了解决上述问题,本发明提供一种flutter组件的重绘方法,包括:
3、在生成flutter的组件时对所述组件进行缓存,得到缓存组件;
4、在组件渲染过程中,当所述组件的属性未发生变化时,返回所述缓存组件;
5、当所述组件的属性发生变化时,返回所述组件的源组件,并对所述组件进行重绘。
6、在一种可能的实现方式中,基于预设函数确定所述组件的属性是否发生变化。
7、在一种可能的实现方式中,所述组件的属性包括以下至少一项:
8、基本属性、内容属性、行为属性、数据属性、样式属性或配置属性。
9、在一种可能的实现方式中,所述预设函数,还用于:
10、确定对所述组件进行重绘的时间。
11、在一种可能的实现方式中,所述组件为widget组件。
12、本发明还提供一种flutter组件的重绘装置,包括:
13、缓存模块,用于在生成flutter的组件时对所述组件进行缓存,得到缓存组件;
14、返回模块,用于在组件渲染过程中,当所述组件的属性未发生变化时,返回所述缓存组件;
15、重绘模块,用于当所述组件的属性发生变化时,返回所述组件的源组件,并对所述组件进行重绘。
16、在一种可能的实现方式中,还包括:
17、确定模块,用于基于预设函数确定所述组件的属性是否发生变化。
18、另一方面,本发明还提供一种电子设备,包括存储器和处理器,其中,
19、所述存储器,用于存储程序;
20、所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述任意实现方式中所述的flutter组件的重绘方法。
21、另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意实现方式中所述的flutter组件的重绘方法。
22、另一方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任意实现方式中所述的flutter组件的重绘方法。
23、本发明的有益效果是:本发明提供的flutter组件的重绘方法、装置及电子设备,通过在生成flutter的组件时对组件进行缓存得到缓存组件,在渲染过程中,当组件的属性发生了变化时,系统返回源组件,并对其进行重绘,确保了界面能够反映最新的数据和状态,而当组件的属性没有发生变化时,则将直接从缓存中返回缓存组件,而不是重新创建和渲染,即不对组件进行重绘,满足了在渲染过程中不再对重复无效的组件进行重绘,大幅优化了组件的重绘次数,提高了渲染效率。
1.一种flutter组件的重绘方法,其特征在于,包括:
2.根据权利要求1所述的flutter组件的重绘方法,其特征在于,还包括:
3.根据权利要求1所述的flutter组件的重绘方法,其特征在于,所述组件的属性包括以下至少一项:
4.根据权利要求2所述的flutter组件的重绘方法,其特征在于,所述预设函数,还用于:
5.根据权利要求1所述的flutter组件的重绘方法,其特征在于,所述组件为widget组件。
6.一种flutter组件的重绘装置,其特征在于,包括:
7.根据权利要求6所述的flutter组件的重绘装置,其特征在于,还包括:
8.一种电子设备,其特征在于,包括存储器和处理器,其中,
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述的flutter组件的重绘方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述的flutter组件的重绘方法。