本申请实施例涉及智能终端,具体涉及一种分栏页面的绘制方法、电子设备及计算机可读存储介质。
背景技术:
1、在分栏场景下,电子设备的用户界面(user interface,ui)被划分成两个页面,例如左侧页面和右侧页面。两个页面由各自的活动(activity)来管理,两个页面各自的activity均运行在同一ui线程中。当两个页面各自的activity同时执行绘制任务时,由于两个页面各自的activity会抢占ui线程下的中央处理器(central processing unit,cpu)资源,导致两个页面之一会出现掉帧现象。
技术实现思路
1、本申请实施例提供一种分栏页面的绘制方法、电子设备及计算机可读存储介质,旨在解决分栏场景下两个页面各自的activity抢占cpu资源的问题。
2、本申请实施例第一方面提供一种分栏页面的绘制方法,应用于电子设备,分栏页面包括第一页面和第二页面,第二页面为第一页面的子页面,方法包括:响应于分栏页面启动,构建消息通道模块。消息通道模块接收来自第二页面的activity的注册消息监听请求,注册消息监听请求用于请求监听第一页面的滑动状态,滑动状态包括开始滑动或停止滑动。消息通道模块响应于来自第一页面的activity的开始滑动消息,向第二页面的activity发送第一变化消息,第一变化消息包括开始滑动消息。第二页面的activity响应于第一变化消息,停止第二页面的绘制任务。
3、在本实施例中,电子设备通过构建消息通道模块,使得第二页面的activity能够监听第一页面的滑动状态。当第一页面开始滑动时,第一页面的activity向消息通道模块发送开始滑动消息。消息通道模块在接收到开始滑动消息之后,向第二页面的activity发送第一变化消息。第二页面的activity在接收到第一变化消息之后,停止第二页面的绘制任务。由此有利于避免因为两个页面各自的activity同时执行绘制任务导致两个页面各自的activity抢占cpu资源的情况,从而有利于减少掉帧现象,提升分栏场景下电子设备的流畅度。
4、在其中一种实施方式中,分栏页面的绘制方法还包括:消息通道模块响应于来自第一页面的activity的停止滑动消息,向第二页面的activity发送第二变化消息,第二变化消息包括停止滑动消息。第二页面的activity响应于第二变化消息,恢复第二页面的绘制任务。
5、在本实施例中,当第一页面停止滑动时,第一页面的activity向消息通道模块发送停止滑动消息。消息通道模块在接收到停止滑动消息之后,向第二页面的activity发送第二变化消息。第二页面的activity在接收到第二变化消息之后,恢复第二页面的绘制任务。由此在分栏页面的绘制过程中始终维持单个页面的activity执行绘制任务,有利于避免两个页面各自的activity抢占cpu资源的情况,从而提升分栏场景下电子设备的流畅度。
6、在另一种实施方式中,分栏页面的绘制方法还包括:消息通道模块接收来自第二页面的activity的解注册消息监听请求,解注册消息监听请求用于请求停止监听第一页面的滑动状态。
7、在本实施例中,当第二页面被关闭时,第二页面的activity向消息通道模块发送解注册消息监听请求,以停止监听第一页面的滑动状态。由此能够释放监听资源,有利于节省cpu资源。
8、在另一种实施方式中,在消息通道模块接收来自第二页面的activity的注册消息监听请求之后,方法还包括:消息通道模块注册第二页面对应的监听器。通过监听器监听第一页面的滑动状态。
9、在另一种实施方式中,消息通道模块响应于来自第一页面的activity的开始滑动消息,向第二页面的activity发送第一变化消息,包括:消息通道模块响应于来自第一页面的activity的开始滑动消息,启动子线程。通过子线程向第二页面的activity发送第一变化消息。
10、在另一种实施方式中,通过子线程向第二页面的activity发送第一变化消息,包括:通过子线程调用第二页面对应的监听器的接口。通过接口向第二页面的activity发送第一变化消息。
11、在另一种实施方式中,在消息通道模块接收来自第二页面的activity的解注册消息监听请求之后,方法还包括:消息通道模块解注册第二页面对应的监听器。
12、在另一种实施方式中,在停止第二页面的绘制任务期间,第二页面的activity通过子线程继续更新第二页面的数据。
13、在另一种实施方式中,消息通道模块存储有多个已注册的监听器,多个已注册的监听器各自对应一个第二页面。
14、本申请实施例第二方面提供一种电子设备,电子设备包括存储器、处理器和显示屏,显示屏用于展示分栏页面,存储器用于存储指令,处理器用于运行存储于存储器中的指令,使得电子设备执行本申请实施例的分栏页面的绘制方法。
15、本申请实施例第三方面提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令在计算机上运行时,使得计算机执行本申请实施例的分栏页面的绘制方法。
16、本申请实施例第二方面和第三方面所带来的技术效果可参见上述第一方面的分栏页面的绘制方法的相关描述,此处不再赘述。
1.一种分栏页面的绘制方法,应用于电子设备,所述分栏页面包括第一页面和第二页面,所述第二页面为所述第一页面的子页面,其特征在于,所述方法包括:
2.如权利要求1所述的分栏页面的绘制方法,其特征在于,所述方法还包括:
3.如权利要求1或2所述的分栏页面的绘制方法,其特征在于,所述方法还包括:
4.如权利要求1至3中任一项所述的分栏页面的绘制方法,其特征在于,在所述消息通道模块接收来自所述第二页面的activity的注册消息监听请求之后,所述方法还包括:
5.如权利要求1至4中任一项所述的分栏页面的绘制方法,其特征在于,所述消息通道模块响应于来自所述第一页面的activity的开始滑动消息,向所述第二页面的activity发送第一变化消息,包括:
6.如权利要求5所述的分栏页面的绘制方法,其特征在于,所述通过所述子线程向所述第二页面的activity发送所述第一变化消息,包括:
7.如权利要求3所述的分栏页面的绘制方法,其特征在于,在所述消息通道模块接收来自所述第二页面的activity的解注册消息监听请求之后,所述方法还包括:
8.如权利要求1至7中任一项所述的分栏页面的绘制方法,其特征在于,在停止所述第二页面的绘制任务期间,所述第二页面的activity通过子线程继续更新所述第二页面的数据。
9.如权利要求1至8中任一项所述的分栏页面的绘制方法,其特征在于,所述消息通道模块存储有多个已注册的监听器,所述多个已注册的所述监听器各自对应一个所述第二页面。
10.一种电子设备,其特征在于,所述电子设备包括存储器、处理器和显示屏,所述显示屏用于展示分栏页面,所述存储器用于存储指令,所述处理器用于运行存储于所述存储器中的指令,使得所述电子设备执行如权利要求1至9中任一项所述的分栏页面的绘制方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至9中任一项所述的分栏页面的绘制方法。