本发明专利技术公开了一种基于单例容器的多个直播间数据管理方法及相关装置,其中,所述方法包括:识别到用户在多个直播间中选择进入其中一个直播间时,利用所选择进入的直播间的直播间频道ID基于全局访问点进行访问处理,获得访问到的单例容器;生成数据管理器加载请求,并将数据管理器加载请求发送至单例容器;单例容器在接收到所述数据管理器加载请求后,响应数据管理器加载请求,并将与直播间频道ID关联的数据管理器加载至直播间;利用加载的数据管理器中的数据对直播间进行初始化处理,并将数据作为直播间的UI展示的文本数据源。在本发明专利技术实施例中,使得多直播间切换的移动应用中,数据管理时更加便捷和安全。管理时更加便捷和安全。管理时更加便捷和安全。
【技术实现步骤摘要】
一种基于单例容器的多个直播间数据管理方法及相关装置
[0001]本专利技术涉及数据管理
,尤其涉及一种基于单例容器的多个直播间数据管理方法及相关装置。
技术介绍
[0002]随着移动网络普及,5G的推出,在移动终端上观看直播成为一种趋势,直播app中,涉及功能众多,有即时聊天功能、有拉取视频流功能、有与主播的互动功能、还有购物功能。每个直播间在远端服务器上,都会被指派一个用于区分该直播间的频道ID,这众多的功能之间相互联系、相互影响,它们之间的数据通信都要围绕着这个频道ID进行。通常,移动应用中,开发者会使用数据管理器作为通信枢纽,一方面用于管理直播间中的数据,另一方面作为各个功能通信的中心。
[0003]最简单的数据管理器是在进入每个直播间之前,在内存中为该直播间,初始化指定频道ID的数据管理器对象,由直播间中的各个功能持有(注意,持有的是对同一份数据的引用),并在退出直播间时,由持有该数据管理器对象的各个直播间模块释放(释放对该份数据的引用),这样就存在一个问题,该数据管理器对象需要被多方传递,容易导致内存泄漏(当一个对象被引用数不为零,该对象则无法从内存中释放,这就称为内存泄漏)。
[0004]使用单例的方式来管理数据管理器对象,有效避免了内存泄漏的问题,但是又由于单例的特性,一个应用中只能存在唯一一个单例的数据管理器,当应用允许同时存在多个直播间时,单例的数据管理器由于只存在单个实例对象,无法满足多个直播间同时存在的需求,因为按照通常的方案,不同直播间需要不同的数据管理器。
专利
技术实现思路
[0005]本专利技术的目的在于克服现有技术的不足,本专利技术提供了一种基于单例容器的多个直播间数据管理方法及相关装置,使得多直播间切换的移动应用中,数据管理时更加便捷和安全。
[0006]为了解决上述技术问题,一种基于单例容器的多个直播间数据管理方法,所述方法包括:识别到用户在多个直播间中选择进入其中一个直播间时,利用所选择进入的直播间的直播间频道ID基于全局访问点进行访问处理,获得访问到的单例容器,所述单例容器为以数据管理器为基本元素的容器,且容器对象以单例的形式存在;所选择进入的所述直播间利用直播间频道ID生成数据管理器加载请求,并将所述数据管理器加载请求发送至所述单例容器,所述数据管理器加载请求中包含有直播间频道ID;所述单例容器在接收到所述数据管理器加载请求后,响应所述数据管理器加载请求,并将与所述直播间频道ID关联的数据管理器加载至所述直播间;利用加载的所述数据管理器中的数据对所述直播间进行初始化处理,并将所述数
据作为所述直播间的UI展示的文本数据源。
[0007]可选的,所述利用加载的所述数据管理器中的数据对所述直播间进行初始化处理时,还包括:在所述直播间进行初始化的过程中,所述直播间根据直播页面更新需要对所述数据管理器进行访问时,所述直播间通过所述全局访问点访问到所述单例容器;所述直播间基于所述单例容器的对外接口利用直播间频道ID在所述单例容器内获取数据更新后的所述数据管理器;利用所述数据管理器中的更新数据对所述直播间进行初始化处理。
[0008]可选的,所述方法还包括:在所述单例容器启动时,对所述单例容器进行初始化处理,并使得初始化后的单例容器持有所述数据管理器的数量为零。
[0009]可选的,所述全局访问点为全应用进程能够访问的点,且所述单例容器以全局静态变量的方式存在,且全局静态变量具有全局作用域,并放在程序的静态数据存储区域;所述静态数据存储区域在所述程序启动时进行初始化,并在程序结束时释放,在程序运行过程中,所述全局静态变量的存储位置不变。
[0010]可选的,所述单例容器作为存储所述数据管理器的容器,所述单例容器内存储的所述数据管理器的数量为零个到多个不等,并所述单例容器内的每一个所述数据管理器服务一个直播间,且每一个所述数据管理器与所服务的直播间的直播间频道ID关联。
[0011]可选的,所述将与所述直播间频道ID关联的数据管理器加载至所述直播间,包括:判断所述单例容器内与所述直播间频道ID关联的数据管理器是否存在;若所述单例容器内与所述直播间频道ID关联的数据管理器存在时,则直接将与所述直播间频道ID关联的所述数据管理器加载至所述直播间中;若所述单例容器内与所述直播间频道ID关联的数据管理器不存在时,则所述单例容器基于所述直播间频道ID初始化对应的数据管理器,并在所述单例容器内持有与所述直播间频道ID关联的所述数据管理器,并将与所述直播间频道ID关联的所述数据管理器加载至所述直播间中。
[0012]可选的,所述单例容器基于所述直播间频道ID初始化对应的数据管理器,包括:所述单例容器基于所述直播间频道ID为所述直播间频道ID关联的所述数据管理器在所述单例容器内分配一个存储区域;同时将与所述直播间频道ID关联的所述数据管理器的存储区域的指针返回给索取该数据管理器的所述单例容器;所述单例容器持有其内部所有的所述数据管理器的存储区域对应的指针。
[0013]另外,本专利技术实施例还提供了一种基于单例容器的多个直播间数据管理装置,所述装置包括:访问模块:用于识别到用户在多个直播间中选择进入其中一个直播间时,利用所选择进入的直播间的直播间频道ID基于全局访问点进行访问处理,获得访问到的单例容器,所述单例容器为以数据管理器为基本元素的容器,且容器对象以单例的形式存在;请求生成模块:用于所选择进入的所述直播间利用直播间频道ID生成数据管理器加载请求,并将所述数据管理器加载请求发送至所述单例容器,所述数据管理器加载请求
中包含有直播间频道ID;加载模块:用于所述单例容器在接收到所述数据管理器加载请求后,响应所述数据管理器加载请求,并将与所述直播间频道ID关联的数据管理器加载至所述直播间;初始化模块:用于利用加载的所述数据管理器中的数据对所述直播间进行初始化处理,并将所述数据作为所述直播间的UI展示的文本数据源。
[0014]另外,本专利技术实施例还提供了一种终端设备,包括处理器和存储器,所述处理器运行存储于所述存储器中的计算机程序或代码,实现如上述中任一项所述的多个直播间数据管理方法。
[0015]另外,本专利技术实施例还提供了一种计算机可读存储介质,用于存储计算机程序或代码,当所述计算机程序或代码被处理器执行时,实现如上述中任一项所述的多个直播间数据管理方法。
[0016]在本专利技术实施例中,使用单例容器的方式对多个直播间所对应的多个数据管理器进行管理,可以实现根据所选择的直播间对应的指标频道ID来切换至对应的数据管理器,不需要在各个模块及各个页面间进行数据传递,同时也有效的避免了内存泄露的风险。
附图说明
[0017]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0018]图1是本专利技术实施本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于单例容器的多个直播间数据管理方法,其特征在于,所述方法包括:识别到用户在多个直播间中选择进入其中一个直播间时,利用所选择进入的直播间的直播间频道ID基于全局访问点进行访问处理,获得访问到的单例容器,所述单例容器为以数据管理器为基本元素的容器,且容器对象以单例的形式存在;所选择进入的所述直播间利用直播间频道ID生成数据管理器加载请求,并将所述数据管理器加载请求发送至所述单例容器,所述数据管理器加载请求中包含有直播间频道ID;所述单例容器在接收到所述数据管理器加载请求后,响应所述数据管理器加载请求,并将与所述直播间频道ID关联的数据管理器加载至所述直播间;利用加载的所述数据管理器中的数据对所述直播间进行初始化处理,并将所述数据作为所述直播间的UI展示的文本数据源。2.根据权利要求1所述的多个直播间数据管理方法,其特征在于,所述利用加载的所述数据管理器中的数据对所述直播间进行初始化处理时,还包括:在所述直播间进行初始化的过程中,所述直播间根据直播页面更新需要对所述数据管理器进行访问时,所述直播间通过所述全局访问点访问到所述单例容器;所述直播间基于所述单例容器的对外接口利用直播间频道ID在所述单例容器内获取数据更新后的所述数据管理器;利用所述数据管理器中的更新数据对所述直播间进行初始化处理。3.根据权利要求1所述的多个直播间数据管理方法,其特征在于,所述方法还包括:在所述单例容器启动时,对所述单例容器进行初始化处理,并使得初始化后的单例容器持有所述数据管理器的数量为零。4.根据权利要求1所述的多个直播间数据管理方法,其特征在于, 所述全局访问点为全应用进程能够访问的点,且所述单例容器以全局静态变量的方式存在,且全局静态变量具有全局作用域,并放在程序的静态数据存储区域;所述静态数据存储区域在所述程序启动时进行初始化,并在程序结束时释放,在程序运行过程中,所述全局静态变量的存储位置不变。5.根据权利要求1所述的多个直播间数据管理方法,其特征在于,所述单例容器作为存储所述数据管理器的容器,所述单例容器内存储的所述数据管理器的数量为零个到多个不等,并所述单例容器内的每一个所述数据管理器服务一个直播间,且每一个所述数据管理器与所服务的直播间的直播间频道ID关联。6.根据权利要求1所述的多个直播间数据管理方法,其特征在于,所述将与所述直播间频道I...
【专利技术属性】
技术研发人员:黄海亮,谢韵佳,丁一,白剑,梁瑛玮,张海林,鲁和平,李长杰,陈焕然,李乐,王浩,洪行健,冷冬,李尚然,
申请(专利权)人:易方信息科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。