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

直播间的切换控制方法、装置、电子设备和存储介质与流程

2021-11-22 13:19:00 来源:中国专利 TAG:
1.本公开涉及互联网领域,具体涉及直播领域,尤其涉及直播间的切换控制方法、装置、电子设备和存储介质。
背景技术
::2.随着互联网技术和网络直播技术的快速发展,用户在具有直播功能的客户端上观看的直播间形式越来越丰富。通常情况下,在上述具有直播功能的客户端上,为了符合用户的操作习惯,可以通过上下滑动屏幕的方式,来切换不同的直播间。技术实现要素:3.本公开提供了一种用于直播间的切换控制方法、装置、电子设备和存储介质。4.根据本公开的一方面,提供了一种直播间的切换控制方法,包括:5.在采用第一视图容器展示源直播间的播放内容的情况下,监测针对所述源直播间的切换操作;6.响应于所述切换操作,确定切换至的目标直播间;7.从资源池中获取与所述目标直播间匹配的第二视图容器;8.采用所述第二视图容器展示所述目标直播间的播放内容。9.根据本公开的另一方面,提供了一种直播间的切换控制装置,包括:10.第一监测模块,用于在采用第一视图容器展示源直播间的播放内容的情况下,监测针对所述源直播间的切换操作;11.第一确定模块,用于响应于所述切换操作,确定切换至的目标直播间;12.获取模块,用于从资源池中获取与所述目标直播间匹配的第二视图容器;13.展示模块,用于采用所述第二视图容器展示所述目标直播间的播放内容。14.根据本公开的又一方面,提供了一种电子设备,包括:15.至少一个处理器;以及16.与所述至少一个处理器通信连接的存储器;其中,17.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开上述一方面提出的直播间的切换控制方法。18.根据本公开的再一方面,提供了一种计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开上述一方面提出的直播间的切换控制方法。19.根据本公开的还一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开上述一方面提出的直播间的切换控制方法。20.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明21.附图用于更好地理解本方案,不构成对本公开的限定。其中:22.图1为传统的视图容器对应的生命周期时机示意图;23.图2为传统的列表数据和视图容器的绑定示意图;24.图3为传统的直播间的转屏过程示意图;25.图4为传统的视图容器的滑动过程示意图;26.图5为本公开实施例一所提供的直播间的切换控制方法的流程示意图;27.图6为本公开实施例二所提供的直播间的切换控制方法的流程示意图;28.图7为本公开实施例三所提供的直播间的切换控制方法的流程示意图;29.图8为本公开实施例四所提供的直播间的切换控制方法的流程示意图;30.图9为本公开实施例中直播间的转屏过程示意图;31.图10为本公开实施例五所提供的直播间的切换控制方法的流程示意图;32.图11为本公开实施例中视图容器对应的生命周期时机示意图;33.图12为本公开实施例中的电子设备的结构示意图;34.图13为本公开实施例中列表数据和视图容器的分离示意图;35.图14为本公开实施例六所提供的直播间的切换控制装置的结构示意图;36.图15示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。具体实施方式37.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。38.通常情况下,在具有直播功能的客户端上,为了符合用户的操作习惯,可以通过上下滑动屏幕的方式,来切换不同的直播间,即用户可以通过上下滑动直播间对应的视图容器(cell)的交互形式,来切换不同的直播间。39.然而,在具有直播功能的客户端的开发过程中,或者,在用户实际体验过程中,发明人发现以下问题:40.(1)直播间具有大量复杂的功能,而大量复杂的功能依赖滑动视图容器所提供的生命时机,造成滑动视图容器时,cpu(centralprocessingunit,中央处理单元)、内存等瞬时压力比较大,严重时会造成界面卡顿。41.(2)列表数据与视图容器刷新强绑定,当列表数据更新时,比如列表数据中某个直播间关闭、某个直播间挪动位置或某个直播间插入,必须要触发一次视图容器的刷新,如果列表数据更新频繁,则视图容器也随之频繁刷新。这种频繁的视图容器刷新,对用户交互并不友好,而且消耗多余的终端性能。42.(3)直播间的转屏操作会触发多余的终端性能消耗、视图容器连续滑动不流畅、不能兼容多种不同的技术架构实现的直播间能力。43.具体地,相关技术中,在直播场景下,可以通过以下两种方案来实现直播间的切换,或通过滑动的方式切换直播间:44.第一种,直接使用操作系统,比如ios操作系统提供的滑动视图控件uicollectionview或者uitableview,即依赖操作系统提供的api(applicationprogramminginterface,应用程序接口)来实现。45.第二种,通过视图uiview 手势识别uigesturerecognizer的方式来实现。该方案是通过在基于同一种技术架构实现的直播间下,如在一个直播间内用户滑动屏幕时,由当前的响应视图view通过用户手势方向判断、位移变化以及修正,然后呈现出屏幕在滑动的效果。46.然而,上述第一种方式,应用场景比较适用于信息流或者功能简单的列表展示场景。在直播场景下,会存在以下不足:47.1、滑动视图控件提供的视图容器的生命周期时机较少,如图1所示,ios操作系统仅提供了三个生命周期时机,造成大量的直播间功能集中在这三个时机实现,不利于缓解cpu、内存等瞬间的性能压力。48.其中,第一个生命周期时机cellforitem,是指视图容器将要被复用;第二个生命周期时机willdisplaycell,是指视图容器将要展示;第三个生命周期时机didenddisplayingcell,是指视图容器已出屏幕外或已移除。49.2、列表数据和视图容器强绑定,如图2所示,当列表数据频繁发生改变时,比如列表数据中新插入了某个直播间的数据,或者,列表数据中两个直播间互换了位置,或者,列表数据中删除了某个直播间的数据,则视图容器也需要随之刷新,造成过多不必要的ui(userinterface,用户界面)性能消耗。严重时可能会出现当前视图容器的重初始化、打断直播间的视频播放,给用户带来的直观感受为:直播画面突然黑屏然后恢复画面,严重降低用户的使用体验。50.3、在直播间转屏过程中会触发其他直播间的初始化、加载等操作,这种方式会触发一些不必要的性能消耗。如图3所示,假设用户在竖屏状态下观看直播间n,直播间n的视图容器标记为celln,在转屏时,例如在横屏的中间态时,会出现直播间n的前一个直播间n‑1和后一个直播间n 1的视图容器celln‑1和celln 1。一旦其他直播间的视图容器出现,会触发其他直播间的生命周期时机,然后触发其他直播间内的功能,例如触发的直播间功能可以包括:加载组件、网络请求等。随着达到横屏的最终态,视图容器celln‑1和celln 1也随之移除屏幕外,进行销毁操作。反之,横屏转竖屏的过程也存在相似的问题。51.然而,上述这些操作对于用户而言是没有必要的,而且随着达到横屏的最终态,上述celln‑1和celln 1也随之移除屏幕外,进行销毁操作,增加了设备不必要的性能消耗。52.而上述第二种方式,在列表数据与视图容器的分离方面比较有优势,但是用户不能连续滑动多个直播间,只能单次滑动。即实际上列表并不是一个真实的滑动列表,如图4所示,它是通过2个视图容器a、b在来回移动替换来达到滑动的效果。53.如图4所示,从图4中的(a)到(c)过程中,是上下2个视图容器在同时向上滑动;在图4中的(c)到(d)过程中,会将视图容器a从视图容器b的上方,挪到视图容器b的下方,然后再继续滑动下一个视图容器。这种滑动实现方式,不能连续不松手滑动,也不能接入多个基于不同技术架构实现的直播间。54.针对上述存在的至少一种问题,本公开提出一种直播间的切换控制方法、装置、电子设备和存储介质。55.下面参考附图描述本公开实施例的直播间的切换控制方法、装置、电子设备和存储介质。56.图5为本公开实施例一所提供的直播间的切换控制方法的流程示意图。57.本公开实施例以该直播间的切换控制方法被配置于直播间的切换控制装置中来举例说明,该直播间的切换控制装置可以应用于任一电子设备中,以使该电子设备可以执行直播间的切换控制功能。58.其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑(personalcomputer,简称pc)、移动终端等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。59.如图5所示,该直播间的切换控制方法可以包括以下步骤:60.步骤501,在采用第一视图容器展示源直播间的播放内容的情况下,监测针对源直播间的切换操作。61.在本公开实施例中,第一视图容器是根据源直播间的展示资源,以及与源直播间适配的播放器创建的。其中,源直播间的展示资源可以根据服务器下发的列表数据确定,该列表数据中可以包括多个直播间的展示资源,展示资源可以包括直播间对应的主播头像、输入框等用于展示的资源。62.在本公开实施例中,源直播间可以为当前观看的直播间。63.在本公开实施例中,切换操作为用户触发的。即用户在观看源直播间的播放内容的情况下,可以根据自身需求,对当前观看的源直播间进行切换,相应的,直播间的切换控制装置可以监测用户是否触发了针对源直播间的切换操作。64.步骤502,响应于切换操作,确定切换至的目标直播间。65.在本公开实施例中,目标直播间为切换至的直播间。比如,该目标直播间可以为源直播间的上一个直播间,或者为源直播间的下一个直播间。66.在本公开实施例中,直播间的切换控制装置在监测到用户触发了针对源直播间的切换操作的情况下,可以响应于该切换操作,确定切换至的目标直播间。67.步骤503,从资源池中获取与目标直播间匹配的第二视图容器。68.在本公开实施例中,第二视图容器是根据目标直播间的展示资源,以及与目标直播间适配的播放器预先创建的。69.在本公开实施例中,可以从资源池中,查询并获取与目标直播间匹配的第二视图容器。70.步骤504,采用第二视图容器展示目标直播间的播放内容。71.在本公开实施例中,在获取到与目标直播间匹配的第二视图容器的情况下,可以采用第二视图容器展示目标直播间的播放内容。由此,在直播间切换时,从资源池中查询是否存在切换至的目标直播间对应的视图容器,若存在,则无需创建该目标直播间对应的视图容器,无需对目标直播间对应的视图容器进行初始化等操作,而直接采用从资源池中查询到的目标直播间对应的视图容器,展示目标直播间的播放内容,可以降低设备的性能消耗。72.本公开实施例的直播间的切换控制方法,通过在采用第一视图容器展示源直播间的播放内容的情况下,若监测到针对源直播间的切换操作,则确定切换至的目标直播间,并从资源池中获取与目标直播间匹配的第二视图容器,以采用第二视图容器展示目标直播间的播放内容。由此,在直播间切换时,从资源池中查询是否存在切换至的目标直播间对应的视图容器,若存在,则无需创建该目标直播间对应的视图容器,无需对目标直播间对应的视图容器进行初始化等操作,而直接采用从资源池中查询到的目标直播间对应的视图容器,展示目标直播间的播放内容,不仅可以降低设备的性能消耗,而且还可以解决目标直播间展示时所造成的耗时问题。73.在本公开实施例的一种可能的实现方式中,在资源池中未存在与目标直播间匹配的第二视图容器的情况下,为了实现有效对目标直播间的播放内容进行展示,可以创建该目标直播间对应的视图容器。下面结合实施例二,对上述情况进行详细说明。74.图6为本公开实施例二所提供的直播间的切换控制方法的流程示意图。75.如图6所示,该直播间的切换控制方法可以包括以下步骤:76.步骤601,在采用第一视图容器展示源直播间的播放内容的情况下,监测针对源直播间的切换操作。77.步骤602,响应于切换操作,确定切换至的目标直播间。78.步骤601至602的执行过程可以参见上述实施例中步骤501至502的执行过程,在此不做赘述。79.步骤603,判断是否从资源池中获取到与目标直播间匹配的第二视图容器,若是,执行步骤604,若否,执行步骤605至607。80.可以理解的是,在用户首次观看目标直播间的情况下,资源池中将未存储该目标直播间对应的视图容器,而在用户非首次观看该目标直播间的情况下,由于在首次观看目标直播间时,设备已创建该目标直播间对应的视图容器,并在用户退出该目标直播间时,将该目标直播间对应的视图容器回收至资源池中。81.因此,在本公开实施例中,为了降低设备的性能消耗,在切换直播间时,可以从资源池中查询是否存在切换至的目标直播间对应的视图容器,本公开中记为第二视图容器,若存在,则执行步骤604,若不存在,则执行步骤605。82.步骤604,采用第二视图容器展示目标直播间的播放内容,以及,将第一视图容器回收至资源池中。83.在本公开实施例中,在从资源池中获取到与目标直播间匹配的第二视图容器的情况下,可以采用第二视图容器展示目标直播间的播放内容。84.在一种可能的实现方式中,将目标直播间对应的视图容器回收至资源池时,可以根据目标直播间的标识,对回收至资源池的目标直播间对应的视图容器进行标记,从而本公开中,为了提升第二视图容器查询结果的可靠性和准确性,可以根据目标直播间的标识查询资源池,将采用目标直播间的标识进行标记的视图容器,作为与目标直播间匹配的第二视图容器,从而可以采用该第二视图容器展示目标直播间的播放内容。85.其中,第二视图容器是根据目标直播间的展示资源,以及与目标直播间适配的播放器预先创建的,即第二视图容器用于承载目标直播间的展示资源以及目标直播间适配的播放器。86.在本公开实施例中,在退出源直播间的情况下,还可以将第一视图容器回收至资源池中,从而在下次观看源直播间的播放内容的情况下,可以无需创建该源直播间对应的视图容器,以及无需对源直播间对应的视图容器进行初始化,而直接采用资源池中的第一视图容器展示源直播间的播放内容,可以进一步降低设备的性能消耗。87.步骤605,根据服务器发送的列表数据,确定目标直播间对应的展示资源。88.在本公开实施例中,服务器发送的列表数据可以包括多个直播间的展示资源,比如,服务器可以基于推荐算法,向客户端返回多个用户感兴趣的直播间的展示资源,或者,向客户端返回多个热门直播间的展示资源,或者向客户端返回多个用户关注的直播间的展示内容,等等,本公开对此并不作限制。89.在本公开实施例中,可以从服务器发送的列表数据中,确定目标直播间对应的展示资源,比如,可以根据目标直播间的标识,从列表数据中查询与该标识匹配的展示资源,作为目标直播间对应的展示资源。90.步骤606,根据目标直播间对应的展示资源,以及适配目标直播间的播放器,创建目标直播间的第三视图容器。91.在本公开实施例中,可以根据目标直播间对应的展示资源和适配该目标直播间的播放器,创建目标直播间的第三视图容器,即第三视图容器用于承载该目标直播间的播放器以及该目标直播间的展示资源。92.步骤607,采用第三视图容器展示目标直播间的播放内容,以及,将第一视图容器回收至资源池中。93.在本公开实施例中,在创建得到目标直播间对应的第三视图容器时,可以采用该第三视图容器展示目标直播间的播放内容,即可以通过第三视图容器中承载的播放器,展示目标直播间的播放内容,并且,还可以将第一视图容器回收至资源池中。94.在本公开的任意一个实施例之中,在将第一视图容器回收至资源池时,可以根据源直播间的标识,对回收至资源池的第一视图容器进行标记,从而在后续展示源直播间的情况下,可以根据源直播间的标识查询资源池,将采用源直播间的标识进行标记的视图容器,作为与源直播间匹配的视图容器,从而可以采用该源直播间匹配的视图容器展示源直播间的播放内容。由此,可以实现根据源直播间的标识,查询与源直播间匹配的视图容器,可以提升查询结果的可靠性和准确性。95.本公开实施例的直播间的切换控制方法,通过在资源池中未获取到与目标直播间匹配的第二视图容器的情况下,根据服务器发送的列表数据,确定目标直播间对应的展示资源,并根据目标直播间对应的展示资源,以及适配目标直播间的播放器,创建目标直播间的第三视图容器,以采用第三视图容器展示目标直播间的播放内容。由此,在资源池中未存在与目标直播间匹配的第二视图容器的情况下,可以创建该目标直播间对应的视图容器,从而实现有效对目标直播间的播放内容进行展示。96.在本公开实施例的一种可能的实现方式中,为了实现列表数据与视图容器的分离,避免列表数据更新时立即触发视图容器的更新,从而造成设备额外的性能消耗的情况发生,本公开中,可以在设定的时机,判断列表数据是否发生变化,以确定是否触发视图容器的刷新。下面结合实施例三,对上述过程进行详细说明。97.图7为本公开实施例三所提供的直播间的切换控制方法的流程示意图。98.如图7所示,该直播间的切换控制方法可以包括以下步骤:99.步骤701,在采用第一视图容器展示源直播间的播放内容的情况下,监测针对源直播间的切换操作。100.步骤702,响应于切换操作,确定切换至的目标直播间。101.步骤703,从资源池中获取与目标直播间匹配的第二视图容器。102.步骤704,采用第二视图容器展示目标直播间的播放内容,以及,将第一视图容器回收至资源池中。103.步骤701至704的执行过程可以参见上述任一实施例,在此不做赘述。104.步骤705,在第一设定时机,访问服务器以确定列表数据是否更新。105.在本公开实施例中,第一设定时机可以为设定的时机,其中,时机还可以称为生命周期时机。106.在本公开实施例中,可以访问服务器,以确定列表数据是否发生更新,比如确定列表数据中是否存在新增的、已删除的直播间的展示资源等。107.步骤706,响应于列表数据存在更新,则根据更新前后列表数据之间的差异,对第二视图容器进行更新。108.在本公开实施例中,在列表数据未发生更新的情况下,可以无需对第二视图容器进行更新;而在列表数据存在更新的情况下,可以根据更新之前的列表数据和更新之后的列表数据之间的差异,对第二视图容器进行更新。由此,仅在第一设定时机,判断列表数据是否发生变化,根据判断结果确定是否对第二视图容器进行更新,可以避免因列表数据的频繁更新而造成视图容器频繁刷新的情况,在进一步降低终端的性能消耗的同时,还可以避免打断直播间视频流播放的情况,改善用户的使用体验。109.本公开实施例的直播间的切换控制方法,通过在第一设定时机,访问服务器以确定列表数据是否更新,响应于列表数据存在更新,则根据更新前后列表数据之间的差异,对第二视图容器进行更新。由此,仅在第一设定时机,判断列表数据是否发生变化,根据判断结果确定是否对第二视图容器进行更新,可以避免因列表数据的频繁更新而造成视图容器频繁刷新的情况,在进一步降低终端的性能消耗的同时,还可以避免打断直播间视频流播放的情况,改善用户的使用体验。110.在本公开实施例的一种可能的实现方式中,为了进一步降低终端的性能消耗,在转屏过程中,可以仅对当前展示的直播间进行旋转处理。下面结合实施例四,对上述过程进行详细说明。111.图8为本公开实施例四所提供的直播间的切换控制方法的流程示意图。112.如图8所示,该直播间的切换控制方法可以包括以下步骤:113.步骤801,在采用第一视图容器展示源直播间的播放内容的过程中,监测针对源直播间的转屏操作。114.在本公开实施例中,转屏操作为用户触发的。即用户在观看源直播间的播放内容的情况下,可以根据自身需求,对当前观看的源直播间进行竖屏转横屏观看,或者,也可以对当前观看的源直播间进行横屏转竖屏观看,相应的,直播间的切换控制装置可以监测用户是否触发了针对源直播间的转屏操作。115.步骤802,响应于转屏操作,对第一视图容器进行旋转处理。116.在本公开实施例中,直播间的切换控制装置在监测到用户触发了针对源直播间的转屏操作的情况下,可以响应于该转屏操作,对第一视图容器进行旋转处理,比如可以对第一视图容器进行向右旋转90度。117.步骤803,基于旋转处理后的第一视图容器展示源直播间的播放内容。118.在本公开实施例中,对第一视图容器进行旋转处理后,可以采用旋转处理后的第一视图容器展示源直播间的播放内容。119.步骤804,监测针对源直播间的切换操作。120.步骤805,响应于切换操作,确定切换至的目标直播间。121.步骤806,从资源池中获取与目标直播间匹配的第二视图容器。122.步骤804至806的执行过程可以参见上述任一实施例的执行过程,在此不做赘述。123.步骤807,根据转屏操作,对第二视图容器进行旋转处理;其中,旋转处理后的第二视图容器与旋转处理后的第一视图容器方向一致。124.可以理解的是,当用户触发了转屏操作时,比如竖屏转横屏,用户可能希望一直在横屏状态下观看各直播间的播放内容。因此本公开中,为了满足用户的实际观看需求,在用户切换直播间时,可以对切换至的目标直播间对应的第二视图容器也进行旋转处理,其中,目标直播间对应的视图容器的旋转方向和旋转角度与第一视图容器的旋转方向和旋转角度一致,即旋转处理后的第二视图容器与旋转处理后的第一视图容器方向一致。125.步骤808,基于旋转处理后的第二视图容器展示目标直播间的播放内容。126.在本公开实施例中,在对第二视图容器进行旋转处理后,可以采用旋转处理后的第二视图容器展示目标直播间的播放内容。127.作为一种示例,如图9所示,假设用户在竖屏状态下观看直播间n,直播间n对应的视图容器标记为celln,在横屏的中间态时,可以仅对celln进行旋转处理,而无需和图3所示,还需将celln‑1和celln 1进行旋转处理,从而无需触发celln‑1和celln 1的直播间功能,可以降低设备的性能消耗。128.本公开实施例的直播间的切换控制方法,通过在采用第一视图容器展示源直播间的播放内容的过程中,若监测针对源直播间的转屏操作,则对第一视图容器进行旋转处理,基于旋转处理后的第一视图容器展示源直播间的播放内容。由此,在转屏过程中,仅对当前展示的直播间所对应的视图容器进行旋转处理,可以降低终端的性能消耗。129.通过根据转屏操作,对第二视图容器进行旋转处理;其中,旋转处理后的第二视图容器与旋转处理后的第一视图容器方向一致;基于旋转处理后的第二视图容器展示目标直播间的播放内容。由此,在用户触发了转屏操作后,每当切换至一个直播间时,对该切换至的直播间对应的视图容器进行旋转处理,可以满足用户的实际观看需求。130.为了清楚说明本公开上述任一实施例中是如何展示目标直播间的播放内容的,本公开提供了另一种直播间的切换控制方法。131.图10为本公开实施例五所提供的直播间的切换控制方法的流程示意图。132.如图10所示,该直播间的切换控制方法可以包括以下步骤:133.步骤1001,在采用第一视图容器展示源直播间的播放内容的情况下,监测针对源直播间的切换操作。134.步骤1002,响应于切换操作,确定切换至的目标直播间。135.步骤1003,从资源池中获取与目标直播间匹配的第二视图容器。136.步骤1001至1003的执行过程可以参见上述任一实施例,在此不做赘述。137.步骤1004,在第二设定时机,加载第二视图容器。138.步骤1005,在第三设定时机,访问服务器,以获得目标直播间的视频流。139.步骤1006,在第四设定时机,触发第二视图容器对目标直播间的视频流进行展示。140.在本公开实施例中,第二设定时机、第三设定时机、第四设定时机为设定的不同的时机,上述时机还可以称为生命周期时机。141.在本公开实施例中,可以从服务器获取目标直播间的视频流,并采用第二视图容器对目标直播间的视频流进行展示。142.需要说明的是,本公开中,利用多个不同的时机,加载视图、网络请求和直播间播放,可以实现将直播间的复杂功能按需在对应的时机实现,以缓解cpu、内存的瞬时压力。143.作为一种示例,在直播间场景下,直播间内的功能相对复杂,可以通过提供更完善的生命周期时机来控制整个直播间的初始化、网络请求、视图加载、播放器预创建、预播放以及直播间移除、销毁等。如图11所示,可以将直播间的生命周期划分为7个生命周期时机,其中,生命周期时机cellforrow,是指视图容器将要被复用或新创建;生命周期时机celldidload,是指视图容器被加载(此时,可以往视图容器中加塞数据);生命周期时机cellwillappear,是指直播间的视图容器将要展示(此时,播放器的数据可提前加载);生命周期时机celldidappear,是指直播间的视图容器已经出现;生命周期时机cellwilldisappear,是指直播间的视图容器将要划出屏幕外;生命周期时机celldiddisappear,是指直播间的视图容器已经划出屏幕外;生命周期时机celldidunload,是指直播间的视图容器回收至资源池。144.比如,上述第二设定时机,可以为图11中的celldidload,第二设定周期可以为图11中的cellwillappear,第四设定时机可以为图11中的celldidappear。145.由此,通过提供完善的生命周期,将直播间中复杂集中的功能,按需在对应的时机实现,可以缓解cpu、内存的瞬时压力。146.本公开实施例的直播间的切换控制方法,通过在第二设定时机,加载第二视图容器,在第三设定时机,访问服务器,以获得目标直播间的视频流,以及在第四设定时机,触发第二视图容器对目标直播间的视频流进行展示。由此,利用多个不同的时机,加载视图、网络请求和直播间播放,可以实现将直播间的复杂功能按需在对应的时机实现,以缓解cpu、内存的瞬时压力。147.作为一种示例,执行上述任意一个实施例的直播间的切换控制方法的电子设备的结构可以如图12所示,该电子设备可以包括以下主要模块:148.视图监听管理器:当用户滑动视图容器时,主要负责监听当前屏幕上可视视图容器的状态,并实时将视图容器的状态数据输入到生命周期管理器中处理。149.生命周期管理器:主要控制当前可视视图容器的生命周期时机的产生、划分以及消息发送。在适合的时机下,可以与可回收/复用管理器进行交互,比如某个视图容器已经滑出当前屏幕,会发送一个celldiddisappear(视图容器已消失)的事件,让可回收/复用管理器对移除屏幕的视图容器进行解绑回收操作。150.可回收/复用管理器:主要用于在列表需要用视图容器时,直接从资源池中取出一个视图容器给列表,比如在切换直播间时,从资源池中获取切换至的直播间对应的视图容器;或者视图容器被移除屏幕外,将该视图容器回收至资源池中。这样可以很好的解决视图容器的初始化、反初始化带来的耗时问题。151.视图刷新管理器:主要负责视图容器的刷新操作,它不受列表数据的变化控制,是由生命周期管理器对其发出信号,而后由视图刷新管理器根据当前数据状态来决定是否触发视图容器的刷新。152.转屏管理器:负责在用户进行转屏操作下,有选择性的决定那个视图容器需要发生转屏操作。153.例如,如图11所示,可以提供更完善的生命周期时机,以降低cpu、内存的瞬时压力。154.再例如,如图13所示,可以将列表数据与视图容器完全分离。列表数据的更新,不会主动触发视图容器的刷新,视图容器的刷新的触发,专门由图12中的视图刷新管理器来控制,该视图刷新管理器可以在规定的时机(本公开中记为第一设定时机)下,判断列表数据是否发生变化,若是,则触发视图容器的刷新,以解决相关技术中因列表数据的频繁更新而造成视图容器频繁刷新的问题。155.再例如,增加转屏管理器,以减少视图容器引发的性能消耗。如图9所示,在视图列表控件发生转屏时,通过转屏管理器仅对当前观看的直播间对应的视图容器进行旋转处理。例如在中间态时,仅有celln发生旋转,而无需和图3所示,还需将celln‑1和celln 1进行旋转处理,从而无需触发celln‑1和celln 1的直播间功能,可以降低设备的性能消耗。156.综上,该电子设备提供了较为完整的生命周期时机、视图容器的刷新与列表数据的分离、ui性能优化以及可兼容多种技术架构实现的直播间能力,能够有效地降低设备的性能消耗。目前已满足媒体、秀场、语音房、yy等不同架构实现的sdk(softwaredevelopmentkit,软件开发工具包)接入到混合分发功能下,在多个不同app(application,应用)对应的客户端上上线使用。157.与上述图5至图10实施例提供的直播间的切换控制方法相对应,本公开还提供一种直播间的切换控制装置,由于本公开实施例提供的直播间的切换控制装置与上述图5至图10实施例提供的直播间的切换控制方法相对应,因此在直播间的切换控制方法的实施方式也适用于本公开实施例提供的直播间的切换控制装置,在本公开实施例中不再详细描述。158.图14为本公开实施例六所提供的直播间的切换控制装置的结构示意图。159.如图14所示,该直播间的切换控制装置1400可以包括:第一监测模块1401、第一确定模块1402、获取模块1403以及展示模块1404。160.其中,第一监测模块1401,用于在采用第一视图容器展示源直播间的播放内容的情况下,监测针对源直播间的切换操作。161.第一确定模块1402,用于响应于切换操作,确定切换至的目标直播间。162.获取模块1403,用于从资源池中获取与目标直播间匹配的第二视图容器。163.展示模块1404,用于采用第二视图容器展示目标直播间的播放内容。164.在本公开实施例的一种可能的实现方式中,该直播间的切换控制装置1400还可以包括:165.回收模块,用于将第一视图容器回收至资源池中。166.在本公开实施例的一种可能的实现方式中,该直播间的切换控制装置1400还可以包括:167.第二确定模块,用于如果在资源池中未获取到与目标直播间匹配的第二视图容器,则根据服务器发送的列表数据,确定目标直播间对应的展示资源。168.创建模块,用于根据目标直播间对应的展示资源,以及适配目标直播间的播放器,创建目标直播间的第三视图容器。169.展示模块1404,还用于采用第三视图容器展示目标直播间的播放内容。170.在本公开实施例的一种可能的实现方式中,该直播间的切换控制装置1400还可以包括:171.标记模块,用于根据源直播间的标识,对回收至资源池的第一视图容器进行标记。172.在本公开实施例的一种可能的实现方式中,获取模块1403,具体用于:在资源池中查询采用目标直播间的标识进行标记的第二视图容器,其中,第二视图容器是根据目标直播间的展示资源,以及与目标直播间适配的播放器预先创建的。173.在本公开实施例的一种可能的实现方式中,该直播间的切换控制装置1400还可以包括:174.访问模块,用于在第一设定时机,访问服务器以确定列表数据是否更新。175.更新模块,用于响应于列表数据存在更新,则根据更新前后列表数据之间的差异,对第二视图容器进行更新。176.在本公开实施例的一种可能的实现方式中,该直播间的切换控制装置1400还可以包括:177.第二监测模块,用于在采用第一视图容器展示源直播间的播放内容的过程中,监测针对源直播间的转屏操作。178.处理模块,用于响应于转屏操作,对第一视图容器进行旋转处理。179.展示模块,还用于基于旋转处理后的第一视图容器展示源直播间的播放内容。180.在本公开实施例的一种可能的实现方式中,展示模块1404,具体用于:根据转屏操作,对第二视图容器进行旋转处理;其中,旋转处理后的第二视图容器与旋转处理后的第一视图容器方向一致;基于旋转处理后的第二视图容器展示目标直播间的播放内容。181.在本公开实施例的一种可能的实现方式中,展示模块1404,具体用于:在第二设定时机,加载第二视图容器;在第三设定时机,访问服务器,以获得目标直播间的视频流;在第四设定时机,触发第二视图容器对目标直播间的视频流进行展示。182.本公开实施例的直播间的切换控制装置,通过在采用第一视图容器展示源直播间的播放内容的情况下,若监测到针对源直播间的切换操作,则确定切换至的目标直播间,并从资源池中获取与目标直播间匹配的第二视图容器,以采用第二视图容器展示目标直播间的播放内容。由此,在直播间切换时,从资源池中查询是否存在切换至的目标直播间对应的视图容器,若存在,则无需创建该目标直播间对应的视图容器,无需对目标直播间对应的视图容器进行初始化等操作,而直接采用从资源池中查询到的目标直播间对应的视图容器,展示目标直播间的播放内容,不仅可以降低设备的性能消耗,而且还可以解决目标直播间展示时所造成的耗时问题。183.为了实现上述实施例,本公开还提供一种电子设备,电子设备可以包括上述实施例中的主播客户端或服务端,该电子设备可以包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开上述任一实施例提出的直播间的切换控制方法。184.为了实现上述实施例,本公开还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开上述任一实施例提出的直播间的切换控制方法。185.为了实现上述实施例,本公开还提供一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现本公开上述任一实施例提出的直播间的切换控制方法。186.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。187.图15示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。其中,电子设备可以包括上述实施例中的服务端、客户端。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。188.如图15所示,设备1500包括计算单元1501,其可以根据存储在rom(read‑onlymemory,只读存储器)1502中的计算机程序或者从存储单元1507加载到ram(randomaccessmemory,随机访问/存取存储器)1503中的计算机程序,来执行各种适当的动作和处理。在ram1503中,还可存储设备1500操作所需的各种程序和数据。计算单元1501、rom1502以及ram1503通过总线1504彼此相连。i/o(input/output,输入/输出)接口1505也连接至总线1504。189.设备1500中的多个部件连接至i/o接口1505,包括:输入单元1506,例如键盘、鼠标等;输出单元1507,例如各种类型的显示器、扬声器等;存储单元1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。190.计算单元1501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1501的一些示例包括但不限于cpu、gpu(graphicprocessingunits,图形处理单元)、各种专用的ai(artificialintelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、dsp(digitalsignalprocessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元1501执行上文所描述的各个方法和处理,例如上述直播间的切换控制方法。例如,在一些实施例中,上述直播间的切换控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1508。在一些实施例中,计算机程序的部分或者全部可以经由rom1502和/或通信单元1509而被载入和/或安装到设备1500上。当计算机程序加载到ram1503并由计算单元1501执行时,可以执行上文描述的直播间的切换控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元1501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述直播间的切换控制方法。191.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、fpga(fieldprogrammablegatearray,现场可编程门阵列)、asic(application‑specificintegratedcircuit,专用集成电路)、assp(applicationspecificstandardproduct,专用标准产品)、soc(systemonchip,芯片上系统的系统)、cpld(complexprogrammablelogicdevice,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。192.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。193.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、ram、rom、eprom(electricallyprogrammableread‑only‑memory,可擦除可编程只读存储器)或快闪存储器、光纤、cd‑rom(compactdiscread‑onlymemory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。194.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(cathode‑raytube,阴极射线管)或者lcd(liquidcrystaldisplay,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。195.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:lan(localareanetwork,局域网)、wan(wideareanetwork,广域网)、互联网和区块链网络。196.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(virtualprivateserver,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。197.其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。198.根据本公开实施例的技术方案,通过在采用第一视图容器展示源直播间的播放内容的情况下,若监测到针对源直播间的切换操作,则确定切换至的目标直播间,并从资源池中获取与目标直播间匹配的第二视图容器,以采用第二视图容器展示目标直播间的播放内容。由此,在直播间切换时,从资源池中查询是否存在切换至的目标直播间对应的视图容器,若存在,则无需创建该目标直播间对应的视图容器,无需对目标直播间对应的视图容器进行初始化等操作,而直接采用从资源池中查询到的目标直播间对应的视图容器,展示目标直播间的播放内容,不仅可以降低设备的性能消耗,而且还可以解决目标直播间展示时所造成的耗时问题。199.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。200.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。当前第1页12当前第1页12
再多了解一些

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

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

相关文献