[发明专利]一种用于用户界面的渲染方法和装置有效
| 申请号: | 201710785147.X | 申请日: | 2017-09-04 |
| 公开(公告)号: | CN107656759B | 公开(公告)日: | 2021-03-26 |
| 发明(设计)人: | 傅晓凌;吴毓雄 | 申请(专利权)人: | 口碑(上海)信息技术有限公司 |
| 主分类号: | G06F9/451 | 分类号: | G06F9/451 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁;窦晓慧 |
| 地址: | 200135 上海市浦东新区自由*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用于 用户界面 渲染 方法 装置 | ||
本申请公开了一种用于用户界面的渲染方法及装置,在UI新增和/或改变可视控件时,通过异步渲染子线程建立与所述新增或改变可视控件对应的异步视图树;通过UI线程生成视图树,并在所述视图树相对应的可视控件所在节点挂载所述异步视图树的代理视图;通过所述异步渲染子线程并根据所述异步视图树生成异步渲染结果;UI线程根据异步渲染结果完成视图树中代理视图的绘制过程,并生成UI。从而解决在渲染过程中占用UI线程资源及UI运行不畅的问题。
技术领域
本申请涉及软件用户界面领域,具体涉及一种用于用户界面的渲染方法和装置。本申请还提供一种计算机可读介质及一种电子设备。
背景技术
Android系统是一种基于Linux平台的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。该平台由操作系统、中间件、用户界面(UserInterface,UI)和应用软件组成。
随着移动终端核心硬件的发展,核心硬件的运行速度越来越快,性能越来越高;从而为运行在移动终端上的应用程序提供了强大的支持,应用程序越来越大,应用场景越来越复杂,用户界面越来越注重画面流畅、逼真,用户体验越来越便捷。
然而,使用Android系统的用户碎片化严重,高端用户与仅使用手机基本功能的用户之间使用的硬件配置、性能等方面相去甚远。在使用同样的应用程序时,造成用户界面的画面流畅程度、用户体验等相差很远。通过软件技术手段缩小硬件差异带来的用户体验差距是行之有效的方法。
所有操作系统的应用程序的用户界面的渲染过程都是由UI线程完成的。UI线程,就是与用户界面协同工作的线程,是主线程的子线程。在Android系统中,UI线程通过渲染过程将视图(View)绘制在用户界面。渲染过程包括三个基本过程:测量、布局和绘图。复杂的渲染过程使配置较低的终端机占用大量的UI线程资源,造成UI运行不流畅。
因此,在渲染过程中减少占用UI线程资源,是解决UI运行不畅的关键。
发明内容
本申请提供一种用于用户界面的渲染方法,以解决在渲染过程中占用UI线程资源及UI运行不畅的问题。本申请还提供一种用于用户界面的渲染装置,一种计算机可读介质及一种电子设备。
本申请提供的一种用于用户界面的渲染方法,包括:
在UI新增和/或改变可视控件时,通过异步渲染子线程建立与所述新增或改变可视控件对应的异步视图树;
通过UI线程生成视图树,并在所述视图树相对应的可视控件所在节点挂载所述异步视图树的代理视图;
通过所述异步渲染子线程并根据所述异步视图树生成异步渲染结果;
UI线程根据异步渲染结果完成视图树中代理视图的绘制过程,并生成UI。
可选的,所述通过所述异步渲染子线程并根据所述异步视图树生成异步渲染结果,包括:
异步渲染子线程执行异步视图树的测量,获得测量结果;
根据异步视图树的测量结果判断是否重新布局;
若是,则异步渲染子线程根据异步视图树的测量结果生成异步视图树的布局结果;并将布局结果传送给UI线程;
异步渲染子线程根据异步视图树的布局结果生成异步渲染结果,将异步渲染结果传送给UI线程;
可选的,所述根据异步视图树的测量结果判断是否重新布局,包括:
判断所述异步视图树的测量结果与上一次异步视图树的测量结果是否发生变化,以决定是否重新布局。
可选的,所述异步视图树的测量结果的变化,包括异步视图树中至少一项发生变化:异步视图的宽度,异步视图的高度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于口碑(上海)信息技术有限公司,未经口碑(上海)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710785147.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:降低串扰方法、装置和系统
- 下一篇:数据处理方法及装置、电子设备





