CN113377315A - 多屏管理方法及装置、电子设备及存储介质 - Google Patents
多屏管理方法及装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113377315A CN113377315A CN202110729787.5A CN202110729787A CN113377315A CN 113377315 A CN113377315 A CN 113377315A CN 202110729787 A CN202110729787 A CN 202110729787A CN 113377315 A CN113377315 A CN 113377315A
- Authority
- CN
- China
- Prior art keywords
- screen
- screens
- multimedia
- threads
- thread group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请公开了一种多屏管理方法,包括:当接收到屏幕启动请求时获取多个屏幕的屏幕信息,根据屏幕信息创建线程组,并通过多个线程分别处理预设的多媒体资源以控制多个屏幕按照预定策略分别对多媒体资源进行显示。实现了多屏幕的开机或关机动画的启动方法,相较于使用单一线程对多屏进行管理,多线程分别管理多个屏幕可以分别处理不同的多媒体资源,可处理更为复杂的多媒体播放效果,同时多线程的处理提高了处理速度。本申请还公开了一种多屏管理装置、电子设备和存储介质。
Description
技术领域
本申请涉及电子技术领域,特别涉及一种多屏管理方法、多屏管理装置、电子设备及非易失性计算机可读存储介质。
背景技术
随着多屏技术的发展以及配套软件趋于成熟,越来越多场景应用多屏显示相应的多媒体资源如视频播放,开机画面等。尤其在智能汽车领域,趋于将仪表、副屏等接入车载中控系统,一台中控系统可以连接多块屏幕,包括主屏、副屏、仪表屏等。目前Android系统对于多块屏的开机动画,往往采用镜像方式,即主屏显示什么,副屏就显示什么,略显单一。
发明内容
有鉴于此,本申请实施方式提供了一种多屏管理方法、多屏管理装置、电子设备及非易失性计算机可读存储介质。
本申请提供了一种多屏管理方法,包括:
当接收到屏幕启动请求时获取多个屏幕的屏幕信息;
根据所述屏幕信息创建线程组,其中,所述线程组包括多个线程;
通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示。
在某些实施方式中,所述屏幕信息包括屏幕数量,所述根据所述屏幕信息创建线程组包括:
根据所述屏幕数量创建所述线程组,所述线程组中的线程数量与所述屏幕数量相同。
在某些实施方式中,所述根据所述屏幕信息创建线程组还包括:
根据所述屏幕信息确定第一屏幕与第二屏幕;
根据所述第一屏幕的第一屏幕信息创建第一线程组,及根据所述第二屏幕的第二屏幕信息创建第二线程组,所述第一线程组与所述第二线程组分别包括一个或多个线程。
在某些实施方式中,所述多媒体资源包括所述第一屏幕的第一屏幕多媒体资源及所述第二屏幕的第二屏幕多媒体资源;
所述通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示包括:
通过所述第一线程组处理所述第一屏幕多媒体资源并控制所述第一屏幕对所述第一屏幕多媒体资源进行显示;
当所述第一线程组处理所述第一屏幕多媒体资源完成时,启动所述第二线程组处理所述第二屏幕多媒体资源并控制所述第二屏幕对所述第二屏幕多媒体资源进行显示。
在某些实施方式中,所述通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示包括:
通过多个所述线程分别处理所述多媒体资源;
根据所述处理控制多个所述屏幕分别播放所述多媒体资源以使得所述播放效果为完整的动画,多个所述多媒体资源包含的所述动画的内容不同。
在某些实施方式中,所述预设的多媒体资源包括本地多媒体资源及实时多媒体资源,所述通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示包括:
获取所述实时多媒体资源;
若所述实时多媒体资源存在,以所述实时多媒体资源替换所述本地多媒体资源;
通过多个所述线程分别处理所述实时多媒体资源以控制多个所述屏幕按照预定策略分别对所述实时多媒体资源进行显示。
在某些实施方式中,所述管理方法还包括:
在创建所述线程组时对多个所述线程增加引用计数以管理内存;
当每个所述线程处理所述多媒体资源完成时,所述引用计数减1;
当所述引用计数减为0时释放所述内存。
在某些实施方式中,所述管理方法还包括:
当所述创建线程组完成时,通过加锁以控制多个所述线程分别处理所述多媒体资源。
本申请还提供了一种多屏管理装置,包括:
获取模块,用于当接收到屏幕启动请求时获取所述多屏的屏幕信息;
创建模块,用于根据所述屏幕信息创建线程组,其中,所述线程组包括多个线程;
显示模块,用于通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示。
本申请还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现上述任一项所述的管理方法。
本申请还提供一种非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,实现上述任一项实施例中所述的管理方法。
本申请实施方式的多屏管理方法、多屏管理装置、电子设备及存储介质中,通过当接收到屏幕启动请求时获取多个屏幕的屏幕信息,根据屏幕信息创建线程组,并通过多个线程分别处理预设的多媒体资源以控制多个屏幕按照预定策略分别对多媒体资源进行显示。至少具有以下有益效果:
一、实现了多屏幕的开机或关机动画的启动方法,相较于使用单一线程对多屏进行管理,多线程分别管理多个屏幕可以分别处理不同的多媒体资源,可处理更为复杂的多媒体播放效果,同时多线程的处理提高了处理速度;
二、根据屏幕信息创建线程组,相较于现有直接创建线程组,一方面,在线程的利用率上更为高效,一定程度上避免了内存的浪费。另一方面,根据屏幕的硬件或参数信息创建线程组,可对屏幕进行分类从而更好地实现多媒体资源播放的视觉效果。另外,相较于根据资源包创建线程,本申请根据屏幕创建线程,可以从屏幕整体上进行管理,对于整屏播放多媒体而非局部播放的屏幕,实现更为简单,线程利用率更好,其内存消耗也更低;
本申请实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点可以从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的管理方法的流程示意图;
图2是本申请某些实施方式的管理装置的模块示意图;
图3是本申请某些实施方式的管理方法的流程示意图;
图4是本申请某些实施方式的管理方法的流程示意图;
图5是本申请某些实施方式的管理方法的流程示意图;
图6是本申请某些实施方式的管理方法的流程示意图;
图7是本申请某些实施方式的管理方法的流程示意图;
图8是本申请某些实施方式的屏幕显示示例图;
图9是本申请某些实施方式的管理方法的流程示意图;
图10是本申请某些实施方式的管理方法的流程示意图。
具体实施方式
下面详细描述本申请的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。
请参阅图1,本申请提供了一种多屏管理方法,包括:
011:当接收到屏幕启动请求时获取多个屏幕的屏幕信息;
012:根据屏幕信息创建线程组,其中,线程组包括多个线程;
013:通过多个线程分别处理预设的多媒体资源以控制多个屏幕按照预定策略分别对多媒体资源进行显示。
相应地,请参阅图2,本申请实施方式还提供了一种多屏管理装置100,本申请实施方式的多屏管理方法可以由多屏管理装置100实现。多屏管理装置100包括获取模块110、创建模块120及显示模块130。步骤011可以由获取模块110实现,步骤012可以由创建模块120实现,步骤013可以由显示模块130实现。或者说,获取模块110用于当接收到屏幕启动请求时获取多个屏幕的屏幕信息。创建模块120用于根据屏幕信息创建线程组。显示模块130用于通过多个线程分别处理预设的多媒体资源以控制多个屏幕按照预定策略分别对多媒体资源进行显示。
本申请实施方式还提供了一种电子设备。电子设备包括存储器和处理器。存储器中存储有计算机程序,处理器用于当接收到屏幕启动请求时获取多个屏幕的屏幕信息,根据屏幕信息创建线程组,并通过多个线程分别处理预设的多媒体资源以控制多个屏幕按照预定策略分别对多媒体资源进行显示。
具体地,多屏包括多块屏幕,其中,屏幕类型不做限制,可包括各种LCD液晶显示屏,或其它可显示多媒体资源如图片或视频的屏幕。本申请的多块屏幕可用于任何需要多屏同时或联动显示多媒体画面的场景,如用于如车辆、无人驾驶车辆、飞机、高速列车等交通工具。
步骤011中,当接收到屏幕启动请求时获取多个屏幕的屏幕信息。屏幕启动请求包括但不限于开机时的屏幕启动请求,或关机时的屏幕启动请求。
在一个例子中,车辆启动,车辆内各显示屏开机,此时接收到开机的屏幕启动请求。
在另一个例子中,车辆停止,车辆内各显示屏关机,此时接收到关机的屏幕启动请求。
进一步地,当接收到屏幕启动请求时获取多个屏幕的屏幕信息。获取可通过增加获取External Display接口从各屏幕控制中心或系统属性中获取屏幕信息。其中,屏幕信息包括但不限于屏幕数量、屏幕类型等信息。
在某些实施方式中,当接收到屏幕启动请求时获取多屏的屏幕数量并将屏幕数量存储在系统属性中,然后根据系统属性中存储的屏幕数量获取各屏幕的其它屏幕信息。
进一步地,在步骤012中,根据屏幕信息创建线程组,其中,线程组包括多个线程。当获取到相应的屏幕信息后,创建线程组,线程组包括多个独立的线程。从线程池中创建线程,为对应的显示屏完成屏幕参数如color、pixel、stack layer等参数的初始化,并绑定EGL绘图线程。
优选地,请参阅图3,在某些实施方式中,屏幕信息包括屏幕数量,步骤012包括:
0121:根据屏幕数量创建线程组,线程组中的线程数量与屏幕数量相同。
在某些实施方式中,步骤0121可以由创建模块120来实现。或者说,创建模块120用于根据屏幕数量创建线程组,线程组中的线程数量与屏幕数量相同。
在某些实施方式中,处理器用于根据屏幕数量创建线程组,线程组中的线程数量与屏幕数量相同。
具体地,根据屏幕信息中的屏幕数量创建线程组,线程组中的线程数量与屏幕数量相同,每个线程负责一块屏幕的多媒体资源包的加载和绘制。在获取到屏幕启动请求后,系统初始化阶段,首先获取当前系统支持的显示屏个数即屏幕数量,以及每个屏幕的设备ID,并将这些信息保存在系统属性中。
在某些实施方式中,可根据获取的所有屏幕信息再判断是否有损坏或不可用的显示屏,若存在不可用的显示屏,屏幕数量去除掉不可用的显示屏,即就是仅创建可用显示屏数量的线程数量。
在一个例子中,车辆启动时,获取车辆内所有需要显示多媒体资源的屏幕的数量为3,则创建具有3个线程的线程组,每个线程负责一块屏幕的多媒体资源包的加载和绘制。
优选地,请参阅图4,在某些实施方式中,步骤012还包括:
0122:根据屏幕信息确定第一屏幕与第二屏幕;
0123:根据第一屏幕的第一屏幕信息创建第一线程组,及根据第二屏幕的第二屏幕信息创建第二线程组,第一线程组与第二线程组分别包括一个或多个线程。
在某些实施方式中,步骤0122和0123可以由创建模块120来实现。或者说,创建模块120用于根据屏幕信息确定第一屏幕与第二屏幕,及根据第一屏幕的第一屏幕信息创建第一线程组,及根据第二屏幕的第二屏幕信息创建第二线程组,第一线程组与第二线程组分别包括一个或多个线程。
在某些实施方式中,处理器用于根据屏幕信息确定第一屏幕与第二屏幕,及根据第一屏幕的第一屏幕信息创建第一线程组,及根据第二屏幕的第二屏幕信息创建第二线程组,第一线程组与第二线程组分别包括一个或多个线程。。
具体地,可通过获取External Display接口设置到系统属性中的屏幕数量得到屏幕的数量及各屏幕对应的Display Id,遍历并读取Display Id,从而获取到各Display Id对应的屏幕的屏幕信息,其中,可判断该屏幕为第一屏幕或第二屏幕。例如,从屏幕信息中获取到主屏有1块显示屏,副屏有4块显示屏。
进一步地,对第一屏幕创建第一线程组,对第二屏幕创建第二线程组,第一线程组与第二线程组分别包括一个或多个线程。
在一个例子中,车辆启动,车辆内的各显示屏开机,此时接收到开机的屏幕启动请求,获取车辆内所有需要显示多媒体资源的显示屏的屏幕信息,进一步地判断第一屏幕有2块显示屏,第二屏幕有4块显示屏。则对第一屏幕创建第一线程组,其中包括2个线程,2个线程分别对应2块第一屏幕的显示屏。同时对第二屏幕创建第二线程组,其中包括4个线程,4个线程分别对应4块第二屏幕的显示屏。后续的多媒体资源的显示中,每个线程可处理不同的多媒体资源包,使得每块第一屏幕或第二屏幕的显示屏可显示不同的内容。
在另一个例子中,车辆启动,车辆内的各显示屏开机,此时接收到开机的屏幕启动请求,获取车辆内所有需要显示多媒体资源的显示屏的屏幕信息,进一步地判断第一屏幕有2块显示屏,第二屏幕有4块显示屏。则对第一屏幕创建第一线程组,其中包括2个线程,2个线程分别对应2块第一屏幕的显示屏。同时对第二屏幕创建第二线程组,其中包括1个线程,1个线程管理4块第二屏幕的显示屏。后续的多媒体资源的显示中,每一块第一屏幕可处理不同的多媒体资源包,各第二屏幕的显示屏可处理同一多媒体资源包。
在另一个例子中,车辆启动,车辆内的各显示屏开机,此时接收到开机的屏幕启动请求,获取车辆内所有需要显示多媒体资源的显示屏的屏幕信息,进一步地判断第一屏幕有2块显示屏,第二屏幕有4块显示屏。则对第一屏幕创建第一线程组,其中包括1个线程,1个线程管理2块第一屏幕的显示屏。同时对第二屏幕创建第二线程组,其中包括1个线程,1个线程管理4块第二屏幕的显示屏。后续的多媒体资源的显示中,各第一屏幕的显示屏可处理同一多媒体资源包,同时各第二屏幕的显示屏可处理同一多媒体资源包。
本实施例将第一屏幕与第二屏幕的线程组分开来,相较于通过屏幕数量创建与屏幕数量相同的线程,在线程的利用上效率更高,更为灵活。例如当各第二屏幕需要显示同一画面时,第二屏幕的线程组可为1个线程,而不是每个第二屏幕的显示屏占用1个线程。在一定程度上提高了线程的利用率,减少了内存消耗。
如此,根据屏幕信息创建线程组,相较于现有直接创建线程组,一方面,在线程的利用率上更为高效,一定程度上避免了内存的浪费。另一方面,根据屏幕的硬件或参数信息创建线程组,可对屏幕进行分类从而更好地实现多媒体资源播放的视觉效果。另外,相较于根据资源包创建线程,本申请根据屏幕创建线程,可以从屏幕整体上进行管理,对于整屏播放多媒体而非局部播放的屏幕,实现更为简单,线程利用率更好,其内存消耗也更低。
优选地,请参阅图5,在某些实施方式中,管理方法还包括:
014:在创建线程组时对多个线程增加引用计数以管理内存;
015:当每个线程处理多媒体资源完成时,引用计数减1;
016:当引用计数减为0时释放内存。
在某些实施方式中,步骤014-016可以由创建模块120来实现。或者说,创建模块120用于在创建线程组时对多个线程增加引用计数以管理内存,当每个线程处理多媒体资源完成时,引用计数减1,当引用计数减为0时释放内存。
在某些实施方式中,处理器用于在创建线程组时对多个线程增加引用计数以管理内存,当每个线程处理多媒体资源完成时,引用计数减1,当引用计数减为0时释放内存。
具体地,在创建多线程时增加引用计数。在使用某个线程时,引用计数加一,当每个线程处理多媒体资源完成时,引用计数减1,并等待其他线程。最后当所有的线程都分别或先后处理完各自的多媒体资源时,即所有的线程都已运行完开机或关机动画,引用计数为0,此时释放线程组占用的内存如释放EGL绘图的内存资源,从而实现对内存的管理。
如此,可在使用多线程时有效地管理内存的消耗,在一定程度上可提高屏幕开启的显示速度。
进一步地,在步骤013中,通过多个线程分别处理预设的多媒体资源以控制多个屏幕按照预定策略分别对多媒体资源进行显示。每个线程对应各自的屏幕以及屏幕所对应的多媒体资源。各线程初始化Display、创建Surface、以及绑定EGL绘图线程实现对相应图片资源包的加载以及绘制,以使得可在各屏幕上显示相应的开机动画。其中,多媒体资源为预设的与每块屏幕对应的资源包,包括但不限于图片、音频、视频等,在某些实施方式中也可包括预存或实时广告投放。
控制多个屏幕按照预定策略分别对多媒体资源进行显示。其中,预定策略包括但不限于控制多个线程按照时间顺序、先后顺序或控制指令分别对各自的多媒体资源进行处理,从而可使得多个屏幕的显示具有不同的显示效果,如多屏联动效果等。
在一个例子中,车辆多屏开机的多媒体资源包中包含一个属性文件desc.txt,其格式如下:
其中,第一行中,前两项代表图片像素宽度1080及高度2160,最后一项30代表帧数;第二行中,p代表标志位,1代表循环次数为1次,0表示间隔时间为0,part0表示存放图片的目录名;第三行中,p代表标志位,0代表无线循环,0表示间隔时间为0,part1表示存放图片的目录名。
创建的多个线程可分别解析各多媒体资源包的属性文件desc.txt以获取图片。
优选地,请参阅图6,在某些实施方式中,多媒体资源包括第一屏幕的第一屏幕多媒体资源及第二屏幕的第二屏幕多媒体资源,步骤013包括:
0131:通过第一线程组处理第一屏幕多媒体资源并控制第一屏幕对第一屏幕多媒体资源进行显示;
0132:当第一线程组处理第一屏幕多媒体资源完成时,启动第二线程组处理第二屏幕多媒体资源并控制第二屏幕对第二屏幕多媒体资源进行显示。
在某些实施方式中,步骤0131和0132可以由显示模块130来实现。或者说,显示模块130用于通过第一线程组处理第一屏幕多媒体资源并控制第一屏幕对第一屏幕多媒体资源进行显示,当第一线程组处理第一屏幕多媒体资源完成时,启动第二线程组处理第二屏幕多媒体资源并控制第二屏幕对第二屏幕多媒体资源进行显示。
在某些实施方式中,处理器用于通过第一线程组处理第一屏幕多媒体资源并控制第一屏幕对第一屏幕多媒体资源进行显示,当第一线程组处理第一屏幕多媒体资源完成时,启动第二线程组处理第二屏幕多媒体资源并控制第二屏幕对第二屏幕多媒体资源进行显示。
具体地,根据屏幕信息确定第一屏幕与第二屏幕,相应地,每块屏幕都与自己的多媒体资源绑定。多媒体资源包括第一屏幕的第一屏幕多媒体资源及第二屏幕的第二屏幕多媒体资源。当创建完第一线程组与第二线程组的多个线程后,首先可通过第一线程组处理第一屏幕多媒体资源并控制第一屏幕对第一屏幕多媒体资源进行显示。其中,若主屏有多个显示屏,也可控制对应的多个线程进行顺序处理多媒体资源或按照时间控制多个显示屏顺序处理。当第一线程组处理第一屏幕多媒体资源完成后,启动第二线程组处理第二屏幕多媒体资源并控制第二屏幕对第二屏幕多媒体资源进行显示,其中,若副屏有多个显示屏,也可控制对应的多个线程进行顺序处理多媒体资源或按照时间控制多个显示屏顺序处理。对于线程的控制可预设在程序中,也可根据多媒体资源包的参数如优先级进行控制。
在一个例子中,车辆启动,车辆内的各显示屏开机,此时接收到开机的屏幕启动请求,获取车辆内所有需要显示多媒体资源的显示屏的屏幕信息,进一步地判断第一屏幕有2块显示屏,即显示屏1与显示屏2。第二屏幕有4块显示屏,即显示屏3-6。对第一屏幕创建第一线程组,其中包括2个线程,2个线程分别对应显示屏1与显示屏2。同时对第二屏幕创建第二线程组,其中包括4个线程,4个线程分别对应显示屏3-6。进一步地,分析各多媒体资源包,显示屏1的多媒体资源包的优先级高于显示屏2,显示屏3-6的多媒体资源包的优先级相同。则在控制线程处理多媒体资源时,按照显示屏1-显示屏2-显示屏3-6的顺序进行处理。
优选地,请参阅图7,在某些实施方式中,步骤013包括:
0133:通过多个线程分别处理多媒体资源;
0134:根据处理控制多个屏幕分别播放多媒体资源以使得播放效果为完整的动画,多个多媒体资源包含的动画的内容不同。
在某些实施方式中,步骤0133和0134可以由显示模块130来实现。或者说,显示模块130用于通过多个线程分别处理多媒体资源,根据处理控制多个屏幕分别播放多媒体资源以使得播放效果为完整的动画,多个多媒体资源包含的动画的内容不同。
在某些实施方式中,处理器用于通过多个线程分别处理多媒体资源,根据处理控制多个屏幕分别播放多媒体资源以使得播放效果为完整的动画,多个多媒体资源包含的动画的内容不同。
具体地,当根据屏幕信息如屏幕数量创建多个线程后,多个线程分别处理对应屏幕的多媒体资源,各多媒体资源组合起来可形成一个完整的动画。多媒体资源分别为动画的一部分,控制每个屏幕处理各自的多媒体资源。同时,屏幕播放处理后的多媒体资源,播放的效果形成一个完整的动画。
在一个例子中,请参阅图8,显示屏1-显示屏2的多媒体资源包为小鹿跳跃的图片,按照显示屏1-显示屏2-显示屏3-6的顺序进行处理可达到小鹿从主屏显示屏1跳跃进入主屏显示屏2,然后再同时跳跃进入到副屏的显示屏3-6中,从而形成多屏联动,达到视觉延伸的效果。
在某些实施方式中,还可控制第一线程组在先处理,其次为第二线程组。
在某些实施方式中,还可控制第一线程组与第二线程组的线程交替处理。
需要说明的是,多个线程的先后顺序应视为本申请的简单替换。
如此,通过对第一线程组及第二线程组内各线程的控制使得多个屏幕按照预定策略分别对多媒体资源进行显示。可以达到更好地视觉效果如多屏联动,多屏交互等效果,在一定程度上提升了用户的体验。
优选地,请参阅图9,在某些实施方式中,管理方法还包括:
017:当创建线程组完成时,通过加锁以控制多个线程分别处理多媒体资源。
在某些实施方式中,步骤017可以由创建模块120来实现。或者说,创建模块120用于当创建线程组完成时,通过加锁以控制多个线程分别处理多媒体资源。
在某些实施方式中,处理器用于当创建线程组完成时,通过加锁以控制多个线程分别处理多媒体资源。
具体地,当每个线程在初始化Display、创建Surface、绑定EGL绘图线程时,通过加锁来保障同一时间只有一个线程在访问,保证了数据的安全性。然后读取各自的绘图资源包,并运行开机动画。
在一个例子中,当每个子线程在屏幕绘图渲染时,通过互斥锁来竞争EGL线程资源:
线程1获取互斥锁;
线程2等待互斥锁;
线程1绑定EGL绘图线程;
线程1解析开机多媒体资源包,并绘制一帧开机动画;
线程1释放互斥锁;
线程2获取互斥锁;
线程2绑定EGL绘图线程;
线程1等待互斥锁;
线程2解析开机多媒体资源包,并绘制一帧开机动画;
线程2释放互斥锁;
线程1获取互斥锁。
如此,通过加锁来保障同一时间只有一个线程在访问,保证了数据的安全性。
在某些实施方式中,请参阅图10,在某些实施方式中,预设的多媒体资源包括本地多媒体资源及实时多媒体资源,步骤013包括:
0135:查询是否存在实时多媒体资源;
0136:若存在实时多媒体资源,获取实时多媒体资源并通过多个线程分别处理实时多媒体资源以控制多个屏幕按照预定策略分别对实时多媒体资源进行显示;
0137:若不存在实时多媒体资源,获取本地多媒体资源并通过多个线程分别处理本地多媒体资源以控制多个屏幕按照预定策略分别对本地多媒体资源进行显示。
在某些实施方式中,步骤0135-0137可以由显示模块130来实现。或者说,显示模块130用于查询是否存在实时多媒体资源,若存在实时多媒体资源,获取实时多媒体资源并通过多个线程分别处理实时多媒体资源以控制多个屏幕按照预定策略分别对实时多媒体资源进行显示,若不存在实时多媒体资源,获取本地多媒体资源并通过多个线程分别处理本地多媒体资源以控制多个屏幕按照预定策略分别对本地多媒体资源进行显示。
在某些实施方式中,处理器用于查询是否存在实时多媒体资源,若存在实时多媒体资源,获取实时多媒体资源并通过多个线程分别处理实时多媒体资源以控制多个屏幕按照预定策略分别对实时多媒体资源进行显示,若不存在实时多媒体资源,获取本地多媒体资源并通过多个线程分别处理本地多媒体资源以控制多个屏幕按照预定策略分别对本地多媒体资源进行显示。
具体地,多媒体资源包括本地多媒体资源及实时多媒体资源。其中,本地多媒体资源包括预设在屏幕当前所在系统的系统多媒体资源包,而实时多媒体资源包括在收到屏幕启动请求时通过大数据平台服务器,为系统实时定制的多媒体资源。当收到屏幕启动请求时,实时连接查询是否存在实时多媒体资源,若存在,则下载实时多媒体资源并更新到系统目录下,以替换现有的本地多媒体资源。若不存在,实时多媒体资源,则获取本地多媒体资源并通过多个线程分别处理本地多媒体资源以控制多个屏幕按照预定策略分别对本地多媒体资源进行显示。
在一个例子中,可根据商业智能系统(Business Intelligence,BI)统计第一屏幕经常使用音乐应用,则可提前自三方音乐平台下载音乐或唱片等,或音乐相关的宣传广告的资源包。同样,第二屏幕经常使用视频类应用,则可提前自三方视频平台下载视频,或和电影宣传广告的资源包。系统启动时,每块显示屏播放用户可能感兴趣的多媒体内容或开机广告。
如此,通过多线程分别处理多个屏幕的实时多媒体资源包,在一定程度上扩展了业务应用,使得多媒体资源的通用性更强。同时,线程通过与BI系统结合,可根据用户喜好制定实时变化的开机或关机动画,有效地增强了视觉效果,提升了用户体验。
如此,本申请实施方式的多屏管理方法、多屏管理装置、电子设备及存储介质中,通过当接收到屏幕启动请求时获取多个屏幕的屏幕信息,根据屏幕信息创建线程组,并通过多个线程分别处理预设的多媒体资源以控制多个屏幕按照预定策略分别对多媒体资源进行显示。至少具有以下有益效果:
一、实现了多屏幕的开机或关机动画的启动方法,相较于使用单一线程对多屏进行管理,多线程分别管理多个屏幕可以分别处理不同的多媒体资源,可处理更为复杂的多媒体播放效果,同时多线程的处理提高了处理速度;
二、通过对第一屏幕的第一线程组及第二屏幕的第二线程组内各线程的控制使得多个屏幕按照预定策略分别对多媒体资源进行显示。可以达到更好地视觉效果如多屏联动,多屏交互等效果,在一定程度上提升了用户的体验;
三、根据屏幕信息创建线程组,相较于现有直接创建线程组,一方面,在线程的利用率上更为高效,一定程度上避免了内存的浪费。另一方面,根据屏幕的硬件或参数信息创建线程组,可对屏幕进行分类从而更好地实现多媒体资源播放的视觉效果。另外,相较于根据资源包创建线程,本申请根据屏幕创建线程,可以从屏幕整体上进行管理,对于整屏播放多媒体而非局部播放的屏幕,实现更为简单,线程利用率更好,其内存消耗也更低;
四、通过对多线程增加引用计数及加锁控制,在一定程度上保证了各线程之间的同步及内存的有效管理。
五、通过多线程分别处理多个屏幕的实时多媒体资源包,在一定程度上扩展了业务应用,使得多媒体资源的通用性更强。同时,线程通过与BI系统结合,可根据用户喜好制定实时变化的开机或关机动画,有效地增强了视觉效果,提升了用户体验。
本申请实施方式还提供了一种计算机可读存储介质。一个或多个存储有计算机程序的非易失性计算机可读存储介质,当计算机程序被一个或多个处理器执行时,实现上述任一实施方式的多屏管理方法。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的软件来完成。程序可存储于一非易失性计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。同时,参考术语“第一”、“第二”等的描述意在将同类或相似操作区别开来,“第一”与“第二”之间在某些实施方式中具有前后逻辑关系,在某些实施方式中并不一定具有逻辑或前后关系,需要根据实际实施例进行判定,不应该仅通过字面意思进行判定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。
Claims (11)
1.一种多屏管理方法,其特征在于,包括:
当接收到屏幕启动请求时获取多个屏幕的屏幕信息;
根据所述屏幕信息创建线程组,其中,所述线程组包括多个线程;
通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示。
2.根据权利要求1所述的管理方法,其特征在于,所述屏幕信息包括屏幕数量,所述根据所述屏幕信息创建线程组包括:
根据所述屏幕数量创建所述线程组,所述线程组中的线程数量与所述屏幕数量相同。
3.根据权利要求1所述的管理方法,其特征在于,所述根据所述屏幕信息创建线程组还包括:
根据所述屏幕信息确定第一屏幕与第二屏幕,所述第一屏幕与所述第二屏幕均包括一个或多个屏幕;
根据所述第一屏幕的第一屏幕信息创建第一线程组,及根据所述第二屏幕的第二屏幕信息创建第二线程组,所述第一线程组与所述第二线程组分别包括一个或多个线程。
4.根据权利要求3所述的管理方法,其特征在于,所述多媒体资源包括所述第一屏幕的第一屏幕多媒体资源及所述第二屏幕的第二屏幕多媒体资源;
所述通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示包括:
通过所述第一线程组处理所述第一屏幕多媒体资源并控制所述第一屏幕对所述第一屏幕多媒体资源进行显示;
当所述第一线程组处理所述第一屏幕多媒体资源完成时,启动所述第二线程组处理所述第二屏幕多媒体资源并控制所述第二屏幕对所述第二屏幕多媒体资源进行显示。
5.根据权利要求1所述的管理方法,其特征在于,所述通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示包括:
通过多个所述线程分别处理所述多媒体资源;
根据所述处理控制多个所述屏幕分别播放所述多媒体资源以使得所述播放效果为完整的动画,多个所述多媒体资源包含的所述动画的内容不同。
6.根据权利要求1所述的管理方法,其特征在于,所述预设的多媒体资源包括本地多媒体资源及实时多媒体资源,所述通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示包括:
查询是否存在所述实时多媒体资源;
若存在所述实时多媒体资源,获取所述实时多媒体资源并通过多个所述线程分别处理所述实时多媒体资源以控制多个所述屏幕按照预定策略分别对所述实时多媒体资源进行显示;
若不存在所述实时多媒体资源,获取所述本地多媒体资源并通过多个所述线程分别处理所述本地多媒体资源以控制多个所述屏幕按照预定策略分别对所述本地多媒体资源进行显示。
7.根据权利要求1所述的管理方法,其特征在于,所述管理方法还包括:
在创建所述线程组时对多个所述线程增加引用计数以管理内存;
当每个所述线程处理所述多媒体资源完成时,所述引用计数减1;
当所述引用计数减为0时释放所述内存。
8.根据权利要求7所述的管理方法,其特征在于,所述管理方法还包括:
当所述创建线程组完成时,通过加锁以控制多个所述线程分别处理所述多媒体资源。
9.一种多屏管理装置,其特征在于,包括:
获取模块,用于当接收到屏幕启动请求时获取所述多屏的屏幕信息;
创建模块,用于根据所述屏幕信息创建线程组,其中,所述线程组包括多个线程;
显示模块,用于通过多个所述线程分别处理预设的多媒体资源以控制多个所述屏幕按照预定策略分别对所述多媒体资源进行显示。
10.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1-7任一项所述的管理方法。
11.一种计算机程序的非易失性计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,实现权利要求1-7任一项所述的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110729787.5A CN113377315A (zh) | 2021-06-29 | 2021-06-29 | 多屏管理方法及装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110729787.5A CN113377315A (zh) | 2021-06-29 | 2021-06-29 | 多屏管理方法及装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113377315A true CN113377315A (zh) | 2021-09-10 |
Family
ID=77579969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110729787.5A Pending CN113377315A (zh) | 2021-06-29 | 2021-06-29 | 多屏管理方法及装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377315A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328430A (zh) * | 2022-10-11 | 2022-11-11 | 亿咖通(湖北)技术有限公司 | 电子设备上多个屏幕的显示方法、存储介质和电子设备 |
CN116886818A (zh) * | 2023-09-08 | 2023-10-13 | 荣耀终端有限公司 | 电子设备的启动方法、装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080074430A1 (en) * | 2006-09-27 | 2008-03-27 | Guofang Jiao | Graphics processing unit with unified vertex cache and shader register file |
US8087029B1 (en) * | 2006-10-23 | 2011-12-27 | Nvidia Corporation | Thread-type-based load balancing in a multithreaded processor |
CN107295388A (zh) * | 2017-06-21 | 2017-10-24 | 微鲸科技有限公司 | 开机动画启动方法、装置及可读存储介质 |
CN107789836A (zh) * | 2016-09-06 | 2018-03-13 | 盛趣信息技术(上海)有限公司 | 一种在线游戏千人同屏的实现方法以及客户端 |
CN111787384A (zh) * | 2019-05-07 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 锁屏视频的分屏播放方法、装置、设备及存储介质 |
CN112579014A (zh) * | 2019-09-27 | 2021-03-30 | 宝能汽车集团有限公司 | 基于Hypervisor的多屏显示方法、系统以及车辆、存储介质 |
CN112714343A (zh) * | 2020-12-25 | 2021-04-27 | 雄狮汽车科技(南京)有限公司 | 汽车开机显示控制方法和具有其的汽车开机显示控制系统 |
-
2021
- 2021-06-29 CN CN202110729787.5A patent/CN113377315A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080074430A1 (en) * | 2006-09-27 | 2008-03-27 | Guofang Jiao | Graphics processing unit with unified vertex cache and shader register file |
US8087029B1 (en) * | 2006-10-23 | 2011-12-27 | Nvidia Corporation | Thread-type-based load balancing in a multithreaded processor |
CN107789836A (zh) * | 2016-09-06 | 2018-03-13 | 盛趣信息技术(上海)有限公司 | 一种在线游戏千人同屏的实现方法以及客户端 |
CN107295388A (zh) * | 2017-06-21 | 2017-10-24 | 微鲸科技有限公司 | 开机动画启动方法、装置及可读存储介质 |
CN111787384A (zh) * | 2019-05-07 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 锁屏视频的分屏播放方法、装置、设备及存储介质 |
CN112579014A (zh) * | 2019-09-27 | 2021-03-30 | 宝能汽车集团有限公司 | 基于Hypervisor的多屏显示方法、系统以及车辆、存储介质 |
CN112714343A (zh) * | 2020-12-25 | 2021-04-27 | 雄狮汽车科技(南京)有限公司 | 汽车开机显示控制方法和具有其的汽车开机显示控制系统 |
Non-Patent Citations (2)
Title |
---|
刘建明 等: "3维图像多屏多视角同步显示技术研究", 《第13届全国计算机、网络在现代科学技术领域的应用学术会议》 * |
老农 等: "《.NET Core 底层入门》", 31 January 2020 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328430A (zh) * | 2022-10-11 | 2022-11-11 | 亿咖通(湖北)技术有限公司 | 电子设备上多个屏幕的显示方法、存储介质和电子设备 |
CN116886818A (zh) * | 2023-09-08 | 2023-10-13 | 荣耀终端有限公司 | 电子设备的启动方法、装置、电子设备和存储介质 |
CN116886818B (zh) * | 2023-09-08 | 2024-04-12 | 荣耀终端有限公司 | 电子设备的启动方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110719524B (zh) | 一种视频播放方法、装置、智能播放设备和存储介质 | |
CN112399192A (zh) | 网络直播中的礼物展示方法和系统 | |
US8677416B2 (en) | Method, system and software for display of multiple media channels | |
CA2628991C (en) | A method for automating digital signage applications using intelligent self-configuring objects and smart templates | |
EP3247110B1 (en) | Method and device for handling multiple video streams using metadata | |
CN113377315A (zh) | 多屏管理方法及装置、电子设备及存储介质 | |
US10735817B2 (en) | Video playback method and apparatus, and computer readable storage medium | |
EP2046043B1 (en) | Dynamic replacement and insertion of cinematic stage props in program content | |
US9620173B1 (en) | Automated intelligent visualization of data through text and graphics | |
JPH09269923A (ja) | 情報及び広告分配システム及び方法 | |
WO2001020908A1 (en) | System and method for linking media content | |
CN108984137B (zh) | 双屏显示方法及其系统、计算机可读存储介质 | |
CA2584339A1 (en) | Management of pre-show and feature presentation content | |
WO2008149367A2 (en) | Preparing and presenting a preview of video placement advertisements | |
Storz et al. | Supporting content scheduling on situated public displays | |
CN108235103A (zh) | 广告智能播放方法、装置、系统及可读存储介质 | |
CN105979336A (zh) | 一种开机广告的处理方法及装置 | |
US10755309B2 (en) | Delivering content | |
WO2000038170A2 (en) | Font substitution system | |
JP2004139305A (ja) | 仮想空間における複数メディア表示方法、仮想空間における複数メディア表示端末装置、仮想空間管理サーバ装置、仮想空間における複数メディア表示プログラム及びこのプログラムを記録した記録媒体 | |
JP2003519986A (ja) | 対話型ディジタルテレビジョン放送を利用するためのコンピュータ化された方法 | |
CN116017044A (zh) | 数字标牌节目播放方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |