一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种界面加载方法、设备及存储介质与流程

2021-10-24 08:25:00 来源:中国专利 TAG:介质 加载 界面 通信 方法


1.本发明涉及通信技术领域,尤其涉及一种界面加载方法、设备及介质。


背景技术:

2.对于在有限屏幕上显示大量数据内容的情况,android原生框架推荐使用recyclerview,作为基础框架,recyclerview提供了数据预加载,view复用,资源回收等接口,无论是可用性,可靠性还是可扩展性都很强,可以说是android ui开发里面使用最为广泛的控件技术。而在不同业务场景下,recyclerview的优化方案也是非常多样的,由于有的终端存在内存有限,cpu运行速度较慢等硬件情况,但是在有些界面加载中对需要显示的图片及界面大小要求较高,界面布局也相对复杂,所以在用户使用过程中往往会出现界面流畅度卡顿,用户体验差等问题,因此,在硬件资源不变的情况下,为了得到高的界面加载的流畅度及提高用户的体验,目前尚未提出有效的解决方案。上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

3.本发明的主要目的在于提供一种界面加载方法,旨在解决在有限的cpu资源下,界面加载卡顿、不流畅造成用户体验感差的技术问题
4.为实现上述目的,本发明提供一种界面加载方法,包括:加载界面元素的至少一个占位区域;将所述至少一个占位区域与所述界面元素的显示函数进行关联;调用所述界面元素显示函数在所述至少一个占位区域输出所述界面元素;所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素,形成目标界面。
5.优选地,所述加载界面元素的至少一个占位区域的步骤包括:
6.获取目标界面加载指令;
7.响应所述目标界面的加载指令确定所述目标界面对应的界面元素;
8.根据所述界面元素加载其对应的至少一个占位区域。
9.优选地,所述根据所述界面元素加载其对应的至少一个占位区域步骤包括:
10.计算所述至少一个占位区域的面积大小;
11.根据所述至少一个占位区域的面积从小到大先后加载所述至少一个占位区域。
12.优选地,所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素步骤包括:
13.根据所述界面元素的内容属性确定所述界面元素的第一加载优先级;
14.根据所述界面元素的所占内存空间的大小确定所述界面元素的第二加载优先级。
15.优选地,所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素还步骤包括:
16.开启实现所述目标界面加载的线程池;
17.根据所述界面元素的加载优先级先后分配所述线程池内的空线程。
18.优选地,所述根据所述界面元素的加载优先级先后分配所述线程池内的空线程步骤包括:
19.根据所述第一加载优先级确定所述界面元素的加载顺序;
20.判断是否存在所述第一加载优先级相同的界面元素;
21.若是,则根据所述第二加载优先级确定所述第一加载优先级相同的界面元素的加载顺序。
22.优选地,则根据所述第二加载优先级确定所述第一加载优先级相同的界面元素的加载顺序步骤包括:
23.根据所述界面元素的所占内存空间的大小确定所述界面元素的加载顺序;
24.其中,所述界面元素的所占内存空间越小其所述第二加载优先级越高。
25.优选地,所述方法还包括:
26.判断所述界面元素之间是否存在线程竞争;
27.若是,则判断是否存在预设优先级低的界面元素占用线程;
28.若是,则中断所述预设优先级低的加载进程,将线程优先分配给预设优先级高的界面元素使用。
29.此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备,包括:存储器、处理器及存储在所述存储器上并可以在所述处理器上运行的界面加载程序,所述终端界面加载程序被所述处理器执行时实现上述任一项所述的界面加载方法的步骤。
30.此外,为实现上述目的,本发明还以供了一种计算机可读存储介质,所述计算机可读存储介质上存储有界面加载程序,所述界面加载程序被处理器执行时执行如上述任一项所述的界面加载方法的步骤。
31.本发明提供了一种界面加载方法,包括:加载界面元素的至少一个占位区域;将所述至少一个占位区域与所述界面元素的显示函数进行关联;调用所述界面元素显示函数在所述至少一个占位区域输出所述界面元素;所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素,形成目标界面。通过将目标界面加载步骤分解为简单的子步骤,在终端硬件不改变的条件下,逐步地加载界面元素增加了界面加载的流畅度,避免了加载复杂步骤带来的界面卡顿,并且增加了用户的体验。
附图说明
32.图1是本发明实施例方案涉及的硬件运行环境的终端\装置结构示意图;
33.图2为本发明界面加载方法第一实施例的流程示意图;
34.图3为本发明界面加载方法第二实施例的流程示意图;
35.图4为图3中步骤s103的步骤的细化流程示意图;
36.图5为图2中步骤s40的步骤细化流程示意图;
37.图6为本发明界面加载方法的第三实施例的流程示意图;
38.图7为图6中步骤s404的步骤细化流程示意图;
39.图8为本发明界面加载方法的第四实施例的流程示意图。
40.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
41.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
42.本发明实施例的主要解决方案是:
43.由于现有技术由于终端设备的硬件资源有限,并界面展示内容越来也丰富和复杂,图片数据大且精细,根据用户的需要加载界面时,往往会出现界面加载时间过长,其在页面记载过程中终端屏幕往往为空白等待状态,并且由于界面元素过于繁多且复杂还会造成终端卡顿等情况的发生,大大降低了用户的体验,无法吸引用户停留等待。
44.本发明提供一种解决方案,只需先加载界面元素的至少一个占位区域;将所述至少一个占位区域与所述界面元素的显示函数进行关联;调用所述界面元素显示函数在所述至少一个占位区域输出所述界面元素;所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素,形成目标界面。使得在终端硬件条件不改变的条件下,通过分步骤加载界面元素,分散cpu的计算压力,将子view的加载分为子步骤,实现了在终端的硬件条件不变的情况下,通过分布式加载界面元素,优化了界面的加载速度,无需所有内容都加载完成以后才展示界面内容,并且降低了内存占用,减少了内存泄露的可能,增加了用户的操作体验。
45.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
46.本发明实施例终端可以是pc,也可以是智能手机、平板电脑、电子书阅读器、mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)播放器、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面3)播放器、便携计算机等具有显示功能的可移动式终端设备。
47.如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non

volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
48.可选地,终端还可以包括摄像头、rf(radio frequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
49.本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
50.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及界面加载应用程序。
51.在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的界面加载应用程序,并执行以下操作:
52.加载界面元素的至少一个占位区域;
53.将所述至少一个占位区域与所述界面元素的显示函数进行关联;
54.调用所述界面元素显示函数在所述至少一个占位区域输出所述界面元素;
55.所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素,形成目标界面。
56.进一步地,处理器1001可以调用存储器1005中存储的网络操作控制应用程序,还执行以下操作:
57.所述加载界面元素的至少一个占位区域的步骤包括:
58.获取目标界面加载指令;
59.响应所述目标界面的加载指令确定所述目标界面对应的界面元素;
60.根据所述界面元素加载其对应的至少一个占位区域。
61.进一步地,处理器1001可以调用存储器1005中存储的网络操作控制应用程序,还执行以下操作:
62.所述根据所述界面元素加载其对应的至少一个占位区域步骤包括:
63.计算所述至少一个占位区域的面积大小;
64.根据所述至少一个占位区域的面积从小到大先后加载所述至少一个占位区域。
65.进一步地,处理器1001可以调用存储器1005中存储的网络操作控制应用程序,还执行以下操作:
66.所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素步骤包括:
67.根据所述界面元素的内容属性确定所述界面元素的第一加载优先级;
68.根据所述界面元素的所占内存空间的大小确定所述界面元素的第二加载优先级。
69.进一步地,处理器1001可以调用存储器1005中存储的网络操作控制应用程序,还执行以下操作:
70.所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素还步骤包括:
71.开启实现所述目标界面加载的线程池;
72.根据所述界面元素的加载优先级先后分配所述线程池内的空线程。
73.进一步地,处理器1001可以调用存储器1005中存储的网络操作控制应用程序,还执行以下操作:
74.所述根据所述界面元素的加载优先级先后分配所述线程池内的空线程步骤包括:
75.根据所述第一加载优先级确定所述界面元素的加载顺序;
76.判断是否存在所述第一加载优先级相同的界面元素;
77.若是,则根据所述第二加载优先级确定所述第一加载优先级相同的界面元素的加载顺序。
78.进一步地,处理器1001可以调用存储器1005中存储的网络操作控制应用程序,还
执行以下操作:
79.则根据所述第二加载优先级确定所述第一加载优先级相同的界面元素的加载顺序步骤包括:
80.根据所述界面元素的所占内存空间的大小确定所述界面元素的加载顺序;
81.其中,所述界面元素的所占内存空间越小其所述第二加载优先级越高。
82.进一步地,处理器1001可以调用存储器1005中存储的网络操作控制应用程序,还执行以下操作:
83.所述方法还包括:
84.判断所述界面元素之间是否存在线程竞争;
85.若是,则判断是否存在预设优先级低的界面元素占用线程;
86.若是,则中断所述预设优先级低的加载进程,将线程优先分配给预设优先级高的界面元素使用。
87.参照图2,本发明界面加载方法的第一实施例提供一种界面加载方法,所述方法包括:
88.步骤s10,加载界面元素的至少一个占位区域;
89.具体而言,在本实施例中,对于在有限屏幕上显示大量数据内容的情况,android原生框架推荐使用recyclerview,作为基础框架,recyclerview提供了数据预加载,view复用,资源回收等接口,无论是可用性,可靠性还是可扩展性都很强,可以说是android ui开发里面使用最为广泛的控件技术。但是由于终端的内存有限,cpu运行速度较慢等硬件原因,在需要显示的图片和界面大小相应又比较大,页面布局也相对复杂的情况下,时常造成界面流畅度卡顿,界面更新时间过长,用户体验感较差,在常规的recyclerview控件中的子view加载进程中,为了加快界面layout,可见view加载的步骤由原生android一次性直接加载完成,分解为多步加载的方式。在本实施例中,采用优先加载虚拟子view,此时的view仅仅是一个占位符,该占位符内不包含任何内容,因此,可以很快地加载出虚拟子view。同时,在虚拟子view加载完成后,list就会通知主线程数据已经加载完毕,释放对应应用,由此,用户即可流程地操作界面交互信息,并可根据用户在交互界面的选择切换页面展示元素。进而,该虚拟子view对应的文字信息,图片及动画都会慢慢地一个个在加载完成后显示出来。
90.步骤s20,将所述至少一个占位区域与所述界面元素的显示函数进行关联;
91.具体而言,在本实施例中,由于在步骤s10中仅仅是加载了虚拟子view的占位符,由于该占位符中并未包含任何内容,因此在步骤s20中,需要将该虚拟子view自身实现相关的函数与对应的占位符相关联,其中,该自身实现相关的函数用于实现对应子view对应的页面元素。其中,该页面元素可以表示文字、图片、表格、音频、视频等可直接呈现在子view待展示界面中,用于向用户传达信息的对象。
92.步骤s30,调用所述界面元素显示函数在所述至少一个占位区域输出所述界面元素;
93.具体而言,在本实施例中,此时所有需加载的界面子view的占位符已经加载完成,则通知更新,终端释放主线程占用,并回收view接口,此时,终端开启实现子view线程池,加载出具体子viewlayout对该界面元素对应的占位区域进行填充,并且,在本实施例中当界
面元素为清晰度较高的界面元素时,将图片的轮廓先加载出来,在根据图片的点阵填充图像数据,由模糊到清晰,由简单到复杂的加载过程减轻了终端硬件的加载负荷,同时在图片加载完成后再将线程池内的空线程加载动画,也可以采用渐进式地加载方法,先加载该图片的即先加载体积小的模糊的图片再将加载完成的体积大的清晰图片替换前一张体积小的图片等,在此本发明不作任何限制。
94.步骤s40,所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素,形成目标界面。
95.具体而言,当占位区域的数量在两个或者两个以上时,根据在系统中预先设置的加载优先级决定占位区域调用对应界面元素的顺序。当存在多个占位区域时,此时的占位区域只是一个空占位区域没有填充任何界面元素,例如为:占位区域a、占位区域b、占位区域c和占位区域d,按照预设的加载优先级为占位区域a、b、c、d排序,当系统的中的界面加载空线程有限时,优先将空线程分配给加载优先级靠前的,以此在避免了系统多线程并发的压力,也提高了用户体验。
96.在本实施例中通过加载界面元素的至少一个占位区域;将所述至少一个占位区域与所述界面元素的显示函数进行关联;调用所述界面元素显示函数在所述至少一个占位区域输出所述界面元素;所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素,形成目标界面。。避免了终端cpu同时并发所有界面元素加载所造成的负载压力,解决了在终端硬件资源有限的情况下一步目标界面造成的界面卡顿的技术问题,并通过分步加载界面元素增加了用户的视觉上的体验。
97.进一步的,参照图3,本发明界面加载方法第二实施例提供一种界面加载方法,基于上述图2所示的实施例,所述步骤s10步骤包括:
98.步骤s101,获取目标界面加载指令;
99.具体而言,在本实施例中,本发明主要解决的问题之一是提供一种方法,以便于在实现界面加载,该界面可以是终端面向用户的交互界面也可以是终端面向用户的展示界面,即,该界面通常是用户终端向用户呈现文字、图像、音视频等一种可视化信息载体。在本实施例中可以根据用户的选择,具体的实施环境,等向用户展示的界面。根据界面的需要获取该页面待展示的界面数据。其中,界面数据包括:界面布局、界面展示内容、界面交互、界面尺寸、界面样式等数据。
100.步骤s102,响应所述目标界面的加载指令确定所述目标界面对应的界面元素;
101.具体而言,在本实施例中,在得到该界面所需展示的界面数据后,再根据该界面数据确定所述页面的界面元素;其中,界面元素可以包括:文本、图像、动画、音视频等,例如,若用户选择的是电视界面选择模块,则该界面数据可能包括:交互区域,搜素窗口,用户的历史观看窗口,用户登录窗口以及大面积显示的推荐页面;也就是说,根据界面的实施环境的不同,获取该展示界面相应的界面数据。即,根据实施环境的不同,子view加载的内容是不同的。
102.步骤s103,根据所述界面元素加载其对应的至少一个占位区域。
103.具体而言,在本实施例中,根据用户触发指令的不同确定目标界面包括的界面元素,在将界面元素界面上的占位区域加载出来,也就是说,终端屏幕上根据用户的触发指令优先加载出界面的布局,避免了由于界面内容过于复杂,服务器的超负荷运转造成终端屏
幕上一直出现空白的加载(loading)页面。
104.在本实施例中,通过获取目标界面加载指令;响应所述目标界面的加载指令确定所述目标界面对应的界面元素;根据所述界面元素加载其对应的至少一个占位区域。,也就是说,终端屏幕上根据用户的选择优选加载出界面的布局,避免了由于界面内容过于复杂,服务器的超负荷运转造成终端屏幕上一直出现空白的加载(loading)页面。
105.进一步的,参照图4,本发明界面加载方法第二实施例提供一种界面加载方法,基于上述图2所示的实施例,步骤s103根据所述界面数据确定所述待展示界面的界面元素还包括:
106.步骤1021,计算所述至少一个占位区域的面积大小;
107.步骤1022,根据所述至少一个占位区域的面积从小到大先后加载所述至少一个占位区域。。
108.具体而言,在本实施例中,当确定目标界面对应的界面元素后确定了各界面元素对应的占位区域,但还是因为界面元素的不同,占位区域的面积大小也不同,在本实施例中,为了达到在终端界面上最快响应用户的触发指令,根据占位区域面积从小到大的顺序对占位区域进行加载。
109.此外,本发明还提供了,在开放线程池对界面元素进行加载时,先判断在界面元素中是否存在交互窗口,若存在,则将空线程用于加载交互窗口,以使得用户可以根据加载出来的交互窗口,再加载出其他界面元素,在本实施例中,关于其他界面元素的加载,可以根据占位区域的大小、界面元素的复杂度对界面元素分步依次加载。在本实施例中不作任何限制。也就是说,通过分布式加载界面元素,可以增加用户的兴趣度,以防一步式的加载造成页面卡顿,用户体验感差的缺陷。
110.在本实施例中根据界面的具体实施环境,计算所述至少一个占位区域的面积大小;根据所述至少一个占位区域的面积从小到大先后加载所述至少一个占位区域。以此通过优先加载出交互界面的方案,不仅分散了cpu同时加载界面信息的压力,还缩短了用户的等待时间,并且在本实施例中可以根据用户在交互窗口的选择加载下一步的界面元素,减少了服务器数据加载资源的浪费。
111.进一步地,参照图5,本发明界面加载方法第二实施例提供一种界面加载方法,基于上述图2所示的实施例,步骤s40还包括:
112.步骤s401,根据所述界面元素的内容属性确定所述界面元素的第一加载优先级;
113.步骤s402,根据所述界面元素的所占内存空间的大小确定所述界面元素的第二加载优先级。
114.具体而言,在本实施例中,根据用户触发的目标界面的指令的不同,界面布局、界面元素也将不同,在本实施例中,界面元素包括:文本、图像、动画以及音视频,根据界面元素的内容属性确定界面元素的加载优先级,例如:在本实施例中,第一加载优先级的顺序为:文本、图像、动画最后是音视频。即,当目标界面的界面元素为:文本a、文本b、图像c、动画d以及音视频e时,优先加载文本a、b,当所有的文本界面元素加载完成后,加载图像c,当所有内容为图像的界面元素加载完成后加载动画d,同理,当所有内容为动画的界面元素加载完成后最后再加载内容为音视频的界面元素。
115.进一步地,在本实施例中还可以根据界面元素所占内存空间的大小确定界面元素
的第二加载优先级,也就是说,界面元素所占内存空间越小则第二加载优先级越靠前,反之,界面元素所占内存空间越大则第二加载优先级越靠后。
116.进一步地,参照图6,本发明界面加载方法第三实施例提供了一种界面加载方法,基于上述图2所示的实施例,步骤40还包括:
117.步骤s403,开启实现所述目标界面加载的线程池;
118.步骤s404,根据所述界面元素的加载优先级先后分配所述线程池内的空线程;
119.具体而言,在本实施例中,由于预先加载的是虚拟子view,也就是在界面上加载出的是空布局,则在空布局加载完成后需要将每个占位符对应的子view自身实现函数进行关联,其中,就包括:layout.xml,文字,图标,页面数据绑定等相关数据。并且,在本实施例中,在加载完虚拟子view后,list就会通知主线程数据已经加载完毕,释放对应占用,通知终端服务器开放界面加载线程池,根据界面元素的加载优先级分配线程池内的空线程。
120.进一步地,参照图7本发明界面加载方法第三实施例提供了一种界面加载方法,基于上述图2所示的实施例,步骤s404还包括:
121.步骤s4041,根据所述第一加载优先级确定所述界面元素的加载顺序;
122.步骤s4042,判断是否存在所述第一加载优先级相同的界面元素;
123.步骤s4043,若是,则根据所述第二加载优先级确定所述第一加载优先级相同的界面元素的加载顺序。
124.根据所述界面元素的所占内存空间的大小确定所述界面元素的加载顺序;
125.其中,所述界面元素的所占内存空间越小其所述第二加载优先级越高。
126.具体而言,在本实施例中,在界面元素在界面上的占位区域后,list就会通知主线程数据已经加载完毕,释放对应的占用,并根据界面元素的属性优先级分配空线程。在本实施例中,根据第一加载优先级决定不同类型的界面元素的加载顺序。例如,目标界面的界面元素包括:文本a1、b1、c1;图像a2、b2、c2;动画a3、b3、c3及音视频a4、b4、c4,根据第一加载优先级确定优先加载文本a1、b1、c1;再根据文本的数据类型确定文本a1、b1、c1的加载顺序,例如,当文本a1为title,文本b1为详情,文本c1为描述时,加载顺序为文本a1、文本c1最后加载文本b1;当文本a1、c1、b1都加载完成后,再开始加载图像a2、b2、c2,随后加载动画a3、b3、c3,最后加载音视频a4、b4、c4;其中,图像、动画及音视频都是根据第二加载优先级即界面元素所占内存空间的大小决定加载顺序。以此,将整个界面的加载分解为若干个子步骤,缓解系统加载的压力,提高用户体验。
127.在本实施例中,为了缓和cpu并发带来的资源过度使用,不同的占位区域再由小到大,不通界面元素根据属性的不同,根据简到繁的加载优先级来控制,使得用户看到内容不是一起出现,而是一个个出现,以此,既能提高用户体验,防止页面卡顿的情况下,又能减少用户对内容的等待时间。
128.进一步地,参照图8,基于上述实施例提出了本发明界面加载方法的第四实施例,所述步骤s40之后包括:
129.步骤s50,判断所述界面元素之间是否存在线程竞争;
130.步骤s60,若是,则判断是否存在预设优先级低的界面元素占用线程;
131.步骤s70,若是,则中断所述预设优先级低的加载进程,将线程优先分配给预设优先级高的界面元素使用。
132.具体而言,在本实施例中,由于终端硬件条件有限,要达到相对较高的资源利用率,例如,在一个实施例中,可以通过主ui线程执行图片界面元素,另一个子线程池加载动画界面元素,以解决资源竞争造成界面加载卡顿的问题。但是为了保证在有限的资源下,得到更为流畅的界面加载方法。当各个界面元素之间存在线程资源竞争时,判断是否有预设加载优先级低的界面元素占用线程,如果有,即中断预设加载优先级低的界面元素的加载进程,将空线程优先于预设加载优先级高的界面元素加载进程使用。例如,在目标界面中界面元素包括:图像、动画,在全部图像界面元素未加载完成时,有动画界面元素加载进程占用线程时,暂停动画界面元素的加载进程,将该进程中的线程优先分配给图像界面元素加载进程。
133.在本实施例中通过优先加载优先级高的界面元素,再加载优先级靠后的界面元素,当出现线程竞争时,暂停加载优先级靠后的界面元素加载进程,将线程分配给加载优先级靠前的界面元素。由此,通过分步骤并从简到繁的加载过程大大分散了终端在加载目标界面时所有线程并发带来的负荷压力。减少所有界面元素集中在这段时间进行加载导致的卡顿,分散cpu计算的压力。
134.此外,本发明还提供了一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可以在所述处理器上运行的界面加载程序,所述界面加载程序被所述处理器执行时实现上述实施例中任一项所述的界面加载的步骤。
135.此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有界面加载程序,所述界面加载程序被处理器执行时实现如下操作:
136.加载界面元素的至少一个占位区域;
137.将所述至少一个占位区域与所述界面元素的显示函数进行关联;
138.调用所述界面元素显示函数在所述至少一个占位区域输出所述界面元素;
139.所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素,形成目标界面。
140.进一步地,所述界面加载程序被处理器执行时还实现如下操作:
141.所述加载界面元素的至少一个占位区域的步骤包括:
142.获取目标界面加载指令;
143.响应所述目标界面的加载指令确定所述目标界面对应的界面元素;
144.根据所述界面元素加载其对应的至少一个占位区域。
145.进一步地,所述界面加载程序被处理器执行时还实现如下操作:
146.所述根据所述界面元素加载其对应的至少一个占位区域步骤包括:
147.计算所述至少一个占位区域的面积大小;
148.根据所述至少一个占位区域的面积从小到大先后加载所述至少一个占位区域。
149.进一步地,所述界面加载程序被处理器执行时还实现如下操作:
150.所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素步骤包括:
151.根据所述界面元素的内容属性确定所述界面元素的第一加载优先级;
152.根据所述界面元素的所占内存空间的大小确定所述界面元素的第二加载优先级。
153.进一步地,所述界面加载程序被处理器执行时还实现如下操作:
154.所述至少一个占位区域按照预设加载优先级依次调用所述界面元素对应的显示函数加载相应的界面元素还步骤包括:
155.开启实现所述目标界面加载的线程池;
156.根据所述界面元素的加载优先级先后分配所述线程池内的空线程。
157.进一步地,所述界面加载程序被处理器执行时还实现如下操作:
158.所述根据所述界面元素的加载优先级先后分配所述线程池内的空线程步骤包括:
159.根据所述第一加载优先级确定所述界面元素的加载顺序;
160.判断是否存在所述第一加载优先级相同的界面元素;
161.若是,则根据所述第二加载优先级确定所述第一加载优先级相同的界面元素的加载顺序。
162.进一步地,所述界面加载程序被处理器执行时还实现如下操作:
163.则根据所述第二加载优先级确定所述第一加载优先级相同的界面元素的加载顺序步骤包括:
164.根据所述界面元素的所占内存空间的大小确定所述界面元素的加载顺序;
165.其中,所述界面元素的所占内存空间越小其所述第二加载优先级越高。
166.进一步地,所述界面加载程序被处理器执行时还实现如下操作:
167.判断所述界面元素之间是否存在线程竞争;
168.若是,则判断是否存在预设优先级低的界面元素占用线程;
169.若是,则中断所述预设优先级低的加载进程,将线程优先分配给预设优先级高的界面元素使用。
170.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
171.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
172.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
173.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜