System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,具体涉及数据加载,尤其涉及一种用户界面的加载方法、装置、电子设备和存储介质。
技术介绍
1、操作系统会给客户端应用分配一个主线程来处理该客户端应用的用户任务,主线程会将任务数据加载至列表并显示在用户界面(ui)上。但是,如果在主线程中进行一些复杂、耗时的用户任务时,就会阻塞主线程,造成用户界面的短暂卡住。
2、相关技术中,将这些复杂、耗时的用户任务放在异步线程中处理,异步线程处理完成后通知主线程,以便主线程取用对应的任务数据。然而,在主线程、异步线程任务数据混合进行列表加载的场景下,主线程、异步线程任务数据对应的列表项的创建时间有快有慢,导致用户界面中的列表项不能同步显示,影响用户的使用体验。
技术实现思路
1、本公开提出了一种用户界面的加载方法、装置、电子设备和存储介质。
2、根据本公开的一方面,提供了一种用户界面的加载方法,该方法包括:确定对目标页面进行首屏加载时待显示的目标列表项的显示位置;基于显示位置,创建视图为空的目标列表项,并异步创建目标列表项的视图;响应于目标列表项的视图均创建完成,将目标列表项的视图同步绑定到对应的列表项上;对绑定后的目标列表项进行数据加载,得到目标页面首屏加载的用户界面。
3、在一些实施例中,上述确定对目标页面进行首屏加载时待显示的目标列表项的显示位置,包括:基于目标页面的页面数据,确定用于渲染页面数据的长列表中候选列表项的预估高度;基于预估高度和目标页面的可视区域的高度,确定目标列表项及其显示
4、在一些实施例中,上述方法还包括:创建一级缓存;响应于可视区域中列表项的变动满足预设条件,将预定列表项预加载至一级缓存;其中,预定列表项包括可视区域之前和/或之后预设屏数的列表项;预设屏数大于用户一次滑屏操作最多可滑动的屏数。
5、在一些实施例中,上述预设条件至少包括下述中的一项:可视区域中列表项数据停止更改;可视区域中的列表项停止滚动;可视区域中的列表项的滚动高度超过第一缓存区高度的预设百分比。
6、在一些实施例中,上述方法还包括:创建二级缓存;将一级缓存要销毁的列表项存入二级缓存,其中,二级缓存为先入先出队列。
7、在一些实施例中,上述将预定列表项预加载至一级缓存,包括:将二级缓存中与预定列表项视图类型一致的列表项的视图作为预定列表项的视图;在一级缓存中,对预定表项进行数据加载。
8、在一些实施例中,上述二级缓存的列表项缓存数量大于一级缓存的列表项缓存数量。
9、根据本公开的另一方面,提供了一种用户界面的加载装置,该装置包括:确定模块,被配置为确定对目标页面进行首屏加载时待显示的目标列表项的显示位置;创建模块,被配置为基于显示位置,创建视图为空的目标列表项,并异步创建目标列表项的视图;绑定模块,被配置为响应于目标列表项的视图均创建完成,将目标列表项的视图同步绑定到对应的列表项上;加载模块,被配置为对绑定后的目标列表项进行数据加载,得到目标页面首屏加载的用户界面。
10、根据本公开的又一方面,提供了一种服务器,该服务器包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。
11、根据本公开的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
12、本公开提供的用户界面的加载方法、装置、电子设备和存储介质,首先确定目标页面首屏加载时待显示的目标列表项的显示位置,然后在显示位置上建立目标列表项的空视图,并异步创建目标列表项的视图,之后,响应于所有目标列表项的视图均创建完成,将所有目标列表项的视图同步绑定到对应空视图上,最后对绑定后的所有目标列表项进行数据加载得到目标页面首屏加载的用户界面,通过同步生成所有目标列表项的视图,使用户界面上列表项的同步显示。
本文档来自技高网...【技术保护点】
1.一种用户界面的加载方法,包括:
2.根据权利要求1所述的方法,所述确定对目标页面进行首屏加载时待显示的目标列表项的显示位置,包括:
3.根据权利要求1所述的方法,还包括:
4.根据权利要求3所述的方法,所述预设条件至少包括下述中的一项:
5.根据权利要求3所述的方法,还包括:
6.根据权利要求5所述的方法,所述将预定列表项预加载至所述一级缓存,包括:
7.根据权利要求5所述的方法,所述二级缓存的列表项缓存数量大于所述一级缓存的列表项缓存数量。
8.一种用户界面的加载装置,包括:
9.一种电子设备,包括:
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现权利要求1-4中任一项或者权利要求1-7中任一项所述的方法。
【技术特征摘要】
1.一种用户界面的加载方法,包括:
2.根据权利要求1所述的方法,所述确定对目标页面进行首屏加载时待显示的目标列表项的显示位置,包括:
3.根据权利要求1所述的方法,还包括:
4.根据权利要求3所述的方法,所述预设条件至少包括下述中的一项:
5.根据权利要求3所述的方法,还包括:
6.根据权利要求5所述的方法,所述将预定列表项预加载至所述一级缓存,包括:
7.根据权利要求5所...
【专利技术属性】
技术研发人员:杜强强,
申请(专利权)人:京东科技控股股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。