CN109413498A - 一种弹幕消息的分发方法、装置、终端和存储介质 - Google Patents

一种弹幕消息的分发方法、装置、终端和存储介质 Download PDF

Info

Publication number
CN109413498A
CN109413498A CN201811221960.5A CN201811221960A CN109413498A CN 109413498 A CN109413498 A CN 109413498A CN 201811221960 A CN201811221960 A CN 201811221960A CN 109413498 A CN109413498 A CN 109413498A
Authority
CN
China
Prior art keywords
direct broadcasting
broadcasting room
barrage
adduction relationship
current
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.)
Granted
Application number
CN201811221960.5A
Other languages
English (en)
Other versions
CN109413498B (zh
Inventor
张磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201811221960.5A priority Critical patent/CN109413498B/zh
Publication of CN109413498A publication Critical patent/CN109413498A/zh
Application granted granted Critical
Publication of CN109413498B publication Critical patent/CN109413498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种弹幕消息的分发方法、装置、终端和存储介质。该方法包括:第一直播间在销毁后,如果再次接收到启动指示,则调用所述第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息和对应的当前第一引用关系;弹幕分发对象根据第一标识信息,将预设键值对集合对象中已存储的第一直播间的历史引用关系替换为当前第一引用关系;其中,当前第一引用关系继承自预设监听器接口协议,预设监听器接口协议中包括弹幕消息的接收方法;弹幕分发对象基于当前第一引用关系,通过调用弹幕消息的接收方法,将弹幕消息分发到第一直播间。通过采用上述技术方案,在将弹幕消息分发到正在运行的直播间的基础上,解决了内存泄漏的问题。

Description

一种弹幕消息的分发方法、装置、终端和存储介质
技术领域
本发明实施例涉及弹幕技术领域,尤其涉及一种弹幕消息的分发方法、装置、终端和存储介质。
背景技术
随着网络交互平台的发展,越来越多的用户通过登录网络交互平台进行交流。其中,网络直播是非常受广大用户欢迎的应用。用户在观看直播的过程中,可以通过发送弹幕来表达自己的情感。其中,弹幕服务包括用户弹幕接收、处理和推送等重要功能。当客户端接收到弹幕服务器发送的弹幕消息后,需对弹幕消息分发到客户端正在运行的直播间中。
为了保证弹幕消息的分发效率和代码的可维护性,需建立弹幕库与直播间的之间的引用关系,作为弹幕分发的通道。传统的技术方案中,每次当直播间启动时,都会将其引用关系注册到弹幕库中,随着时间的推移和直播间的频繁使用,在弹幕库中将会持有多个引用关系。但是一些直播间会由于引用关系的存在而无法被释放,从而造成内存泄漏的问题。
发明内容
本发明实施例提供一种弹幕消息的分发方法、装置、终端和存储介质,在将弹幕消息分发到正在运行的直播间的基础上,解决了内存泄漏的问题。
第一方面,本发明实施例提供了一种弹幕消息的分发方法,该方法包括:
第一直播间在销毁后,如果再次接收到启动指示,则调用所述第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息和对应的当前第一引用关系;
弹幕分发对象根据所述第一标识信息,将预设键值对集合对象中已存储的所述第一直播间的历史引用关系替换为所述当前第一引用关系;其中,所述当前第一引用关系继承自预设监听器接口协议,所述预设监听器接口协议中包括弹幕消息的接收方法;
弹幕分发对象基于所述当前第一引用关系,通过调用所述弹幕消息的接收方法,将弹幕消息分发到所述第一直播间。
第二方面,本发明实施例还提供了一种弹幕消息的分发装置,该装置包括:
第一信息发送模块,用于第一直播间在销毁后,如果再次接收到启动指示,则调用所述第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息和对应的当前第一引用关系;
引用关系替换模块,用于弹幕分发对象根据所述第一标识信息,将预设键值对集合对象中已存储的所述第一直播间的历史引用关系替换为所述当前第一引用关系;其中,所述当前第一引用关系继承自预设监听器接口协议,所述预设监听器接口协议中包括弹幕消息的接收方法;
弹幕分发模块,用于弹幕分发对象基于所述当前第一引用关系,通过调用所述弹幕消息的接收方法,将弹幕消息分发到所述第一直播间。
第三方面,本发明实施例还提供了一种终端,所述终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的弹幕消息的分发方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的弹幕消息的分发方法。
本发明实施例的技术方案,同类型的直播间在切换过程中,当第一直播间在销毁后,如果再次接收到启动指示,则调用第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息。对于相同类型的直播间而言,第一标识信息相同,但由于第一直播间是在销毁后再次启动,则第一标识信息对应的第一引用关系则会发生改变。弹幕分发对象会根据第一标识信息,将预设键值对集合对象中已存储的第一直播间的历史引用关系替换为第一标识信息对应的当前第一引用关系。这样设置可使得弹幕分发对象中第一直播间的引用关系得到更新,即替换为新的当前第一引用关系,从而使得旧的历史引用关系被断开,以使得切换前的第一直播间被释放,避免了内存泄露的问题。并且,当前第一引用关系为正在运行的当前直播间对应的引用关系,弹幕分发对象可基于该引用关系中的接收方法,将弹幕消息发送到正在运行的当前直播间,提升了弹幕消息的分发效率。
附图说明
图1为本发明实施例一提供的一种弹幕消息的分发方法的流程图;
图2为本发明实施例二提供的一种弹幕消息的分发方法的流程图;
图3为本发明实施例三提供的一种弹幕消息的分发方法的流程图;
图4为本发明实施例四提供的一种弹幕消息的分发装置的结构框图;
图5为本发明实施例五提供的一种终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
为了清楚、明白的描述本发明各实施例,下面首先对本发明实施例中涉及到的引用关系进行详细介绍:
本发明实施例中所涉及到的直播间的引用关系是弹幕分发对象与直播间之间的通道,弹幕分发对象可通过该通道将弹幕消息发送到直播间。直播间的引用关系可基于预设监听器接口协议而获得。这里预设监听器接口协议是预先定义的、用于在弹幕分发模块和直播间之间进行弹幕消息传输的组件间通信协议,其包含用于实现弹幕消息分发操作的协议内部函数——弹幕消息的分发方法。当直播间所对应的类通过继承上述预先定义的预设监听器接口协议之后,便具有了该预设监听器接口协议的通信功能,也会复写并实现其协议内部函数,即弹幕消息的接收方法。弹幕分发对象可利用引用关系中的弹幕接收方法对弹幕消息进行分发处理。
具体的,预设监听器接口协议的代码实现如下:
Public interface DanmuRouterListener{
Public void onReceiveGiftBean(GiftBean giftBean);
Public void onReceiveTipsBean(TipsBean tipsBean);
……
}。其中,public为公有权限修饰符,这样其他类和对象也可访问该预设监听器接口协议DanmuRouterListener。interface为接口类型限定符,其表明预设监听器接口协议DanmuRouterListener为接口实现机制,便于其他类的多态继承。在该预设监听器接口协议DanmuRouterListener中包含了一系列的弹幕消息的接收方法,例如onReceiveGiftBean(GiftBean giftBean)和onReceiveTipsBean(TipsBean tipsBean)等,每一个方法对应的是一种类型的弹幕消息的分发。下面具体以onReceiveGiftBean(GiftBean giftBean)方法为例对弹幕消息的接收方法进行说明:
在该接收方法onReceiveGiftBean中,GiftBean和giftBean分别为弹幕接收方法的两个输入参数。其中,giftBean是用于存储弹幕消息的类class类型的Javabean存储对象,而参数GiftBean为弹幕消息的类型。该类型是一个存储对象Javabean唯一且全局的标识。也就是说一种类型的弹幕消息被解析完后变成一个唯一的Bean对象,后续通过定义的这些接收方法onReceive来将该Bean对象发送到直播间中。
对于方法Public void onReceiveTipsBean(TipsBean tipsBean),该方法的主要作用是针对弹幕类型为TipsBean的存储对象tipsBean进行分发,该方法及其内部各参数的具体含义和作用与方法onReceiveGiftBean(GiftBean giftBean)及其内部各参数的含义和作用相类似,具体可详见上述对方法onReceiveGiftBean(GiftBean giftBean)及其内部参数的说明内容,此处不再赘述。
具体的,对本发明实施例中所涉及的当前第一引用关系可通过将第一直播间所对应的类继承上述预先定义的预设监听器接口协议,从而使得当前第一引用关系具有预设监听器接口协议中的各弹幕消息的接收方法,以实现对当前第一引用关系的初始化。
优选的,当前第一引用关系还可通过调用预设监听器接口协议的实现类的构造函数完成初始化,所述实现类通过关键字implements继承自预设监听器接口协议。
另外,本发明实施例中所涉及的第二引用关系和第三引用关系均可按照上述当前第一引用关系的实例化方式进行初始化,此处不再赘述。
具体的,在当前第一引用关系的实例化过程中所用到的预设监听器接口协议的实现类DanmuRouterListenerImp的定义方法如下:
Public class DanmuRouterListenerImp implements DanmuRouterListener{
@override
Public void onReceiveGiftBean(GiftBean giftBean){}
@override
Public void onReceiveTipsBean(TipsBean tipsBean){}
……
}。其中,Public为公有权限修饰符,这样其他类和对象也可访问该预设监听器接口协议的实现类DanmuRouterListenerImp,implements为接口继承关键字,用于实现接口中所定义的抽象方法。本实施例中,该实现类DanmuRouterListenerImp通过关键字implements继承预设监听器接口协议DanmuRouterListener之后,可实现协议DanmuRouterListener中的所有的弹幕接收onReceiver方法。在每一个实现的函数中都会添加上一个@override标记用于表示是对预设监听器接口协议中的方法的复写。
具体的,当目标引用关系通过该实现类完成初始化后,便具有了该实现类的内部函数,即弹幕消息的接收方法。具体的,由于每一个实现的函数都是对预设监听器接口协议中方法的复写,因此,该预设监听器接口协议的实现类DanmuRouterListenerImp中各函数的及各函数的定义和作用,与上述预设监听器接口协议中的各函数的定义和作用相同,实现类所复写的各函数的内部参数的定义和作用,也与上述预设监听器接口协议中各函数内部参数的定义及作用相同,具体实现类中的函数及其内部参数的解释可参照上述对预设监听器接口协议中的各函数及其内部参数的解释,此处不再赘述。
实施例一
图1为本发明实施例一提供的一种弹幕消息的分发方法的流程图,该方法可以由弹幕消息的分发装置来执行,该装置可以通过软件和/或硬件的方式实现,该装置可以集成在安装有适配于Android系统的音视频播放和/或直播应用软件的设备中,典型的是如手机、平板电脑或智能电视等用户终端设备。参见图1,本实施例的方法具体包括:
S110、第一直播间在销毁后,如果再次接收到启动指示,则调用第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息和对应的当前第一引用关系。
本实施例中,“第一”和“第二”只是用于区分直播间的类型,不具有具体的限定作用。其中,第一直播间是指第一种类型的直播间,例如半屏直播间。第二直播间是指与第一直播间的类型不相同的直播间,例如游戏直播间或颜值直播间等。
其中,第一直播间销毁是指第一直播间执行了生命周期的销毁函数onDestory。第一直播间的销毁可以是在接收到用户触发的关闭或退出指令时进行销毁。例如,对于当前显示的直播间A,如果用户触发了“返回”或“关闭”按键,则当前直播间A将执行销毁函数。但如果用户按下“HOME”按键,则该直播间页面不会被销毁。
与直播间的销毁相类似,直播间启动时所接收到的启动指示一般由用户触发。直播间在接收到启动指示时,需调用生命周期创建函数onCreate。其中,生命周期创建函数和生命周期销毁函数均为系统函数。
需要说明的是,由于本实施例中直播间的启动模式未被描述为单例模式,因此,本实施例所涉及到的直播间均为非单例直播间。与单例直播间不同的是,本实施例中相同类型的直播间在切换过程中,某种类型的直播间在销毁后,如果该类型的直播间再次被启动,则虽然再次启动的直播间与销毁前的直播间具有相同的标识信息,但二者的引用关系并不相同。
例如,如果从当前直播间A的显示页面返回到直播间所在应用程序的主页面时,直播间A被销毁。而当再次启动直播间A后,直播间A的当前引用关系相对于直播间A在销毁前的引用关系则发生了改变。但是,如果用户从当前直播间A的显示页面按下“HOME”按键后再次触发直播间A的显示事件时,直播间A的引用关系不会发生改变。
本实施例中,弹幕分发对象是指用于接收从弹幕服务器发送而来的弹幕消息的弹幕分发模块中的对象。弹幕分发模块中为实现弹幕消息接收操作而定义了弹幕接收类,而弹幕接收对象则是弹幕接收类的一个实例。
具体的,弹幕分发对象会接收第一直播间在销毁后再次启动时所发送的第一标识信息和第一标识信息对应的引用关系,其中,第一标识信息和对应引用关系的传递是第一直播间通过其生命周期创建函数发送的。这样设置的目的是为了使得弹幕分发对象能够根据第一标识信息对其内部预设键值对集合对象中已存储的第一直播间的历史引用关系进行替换。此外,第一直播间向弹幕分发对象发送第一标识信息也可使得弹幕分发对象指向当前正在运行的直播间。
具体的,第一直播间可通过调用预设键值对集合对象中的键值对设置函数map.put(key,value)将第一标识信息和当前第一引用关系以键值对形式注册到弹幕分发对象中。其中,key和value是键值对设置函数map.put的两个参数,key为第一标识信息,value为当前第一引用关系。
S120、弹幕分发对象根据第一标识信息,将预设键值对集合对象中已存储的第一直播间的历史引用关系替换为第一标识信息对应的当前第一引用关系。
本实施例中,弹幕分发对象中预先设置有预设键值对集合对象MAP,用于存储直播间的标识信息和引用关系,并建立标识信息和引用关系的映射关系。其中,对于每个键值对对象,键为直播间的标识信息,值为直播间的引用关系。由于任意不同类型的直播间在启动时都会向弹幕分发对象发送标识信息和引用关系,因此,随着时间的推移,或当直播间使用较为频繁时,弹幕分发对象中的预设键值对集合中会存储有多个键值对对象。
具体的,由于第一标识信息和历史引用关系以键值对形式存储于预设键值对集合对象中,因此,当弹幕分发对象再次获取到第一标识信息和对应的当前第一引用关系时,由于作为键的第一标识信息已存储于预设键值对集合对象中,因此,在键相同的情况下,弹幕分发对象会将键所对应的值进行替换。本实施例中,弹幕分发对象会将预设键值对集合对象中已存储的第一直播间的历史引用关系替换为当前第一引用关系。这样设置的好处在于,切断了已销毁直播间的引用关系,使得已销毁直播间能够得到释放,从而避免了内存泄露的问题。
S130、弹幕分发对象基于当前第一引用关系,通过调用弹幕消息的接收方法,将弹幕消息分发到第一直播间。
本实施例中,替换后的当前第一引用关系作为当前正在运行的直播间的引用关系。由于第一直播间在实例化时,继承了预设监听器接口协议DanmuRouterListener的实现类,则第一直播间便具有预设监听器接口协议中所有的弹幕消息的接收方法。本实施例中,弹幕分发对象可通过调用弹幕消息的接收方法将接收到的弹幕消息发送到第一直播间。
本发明实施例的技术方案,同类型的直播间在切换过程中,当第一直播间在销毁后,如果再次接收到启动指示,则调用第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息。对于相同类型的直播间而言,第一标识信息相同,但由于第一直播间是在销毁后再次启动,则第一标识信息对应的第一引用关系则会发生改变。弹幕分发对象会根据第一标识信息,将预设键值对集合对象中已存储的第一直播间的历史引用关系替换为第一标识信息对应的当前第一引用关系。这样设置可使得弹幕分发对象中第一直播间的引用关系得到更新,即替换为新的当前第一引用关系,从而使得旧的历史引用关系被断开,以使得切换前的第一直播间被释放,避免了内存泄露的问题。并且,当前第一引用关系为正在运行的当前直播间对应的引用关系,弹幕分发对象可基于该引用关系中的接收方法,将弹幕消息发送到正在运行的当前直播间,提升了弹幕消息的分发效率。
实施例二
图2为本发明实施例二提供的一种弹幕消息的分发方法的流程图,本实施例可应用于不同类型直播间之间的切换。对于不同类型的直播间而言,在上述实施例的基础上,在第一直播间销毁后,如果与第一直播间类型不同的第二直播间启动时,第二直播间会将其引用关系直接注册到预设键值对集合对象中,这样,弹幕分发对象中将同时维护第一直播间和第二直播间之间的引用关系。在本实施例中与上述实施例相同或相应的术语的解释在此不再赘述。参见图2,本实施例提供的方法包括:
S210、第一直播间在销毁后,如果第二直播间接收到启动指示,则第二直播间通过调用第二直播间的生命周期创建函数,向弹幕分发对象发送第二直播间的第二标识信息和当前第二引用关系;其中,第二直播间和第一直播间为不同类型的直播间。
其中,第二直播间的生命周期函数为onCreate,第二直播间通过调用其生命创建函数可得到启动,在启动时需向弹幕分发对象发送第二直播间的第二标识信息和第二标识信息对应的当前第二引用关系。
S220、弹幕分发对象将第二标识信息和当前第二引用关系以键值对形式存储于预设键值对集合对象中,并基于当前第二引用关系,通过调用弹幕消息的接收方法,将弹幕消息分发到第二直播间。
本实施例中,由于对于不同类型的直播间在先后启动时,会将引用关系直接注册到预设键值对集合对象中,因此,在应用程序不退出的情况下,随着时间的推移或直播间使用的频繁程度,在预设键值对集合对象中将存储有多个直播间的标识信息和引用关系。
具体的,本实施例中第二直播间的当前第二引用关系也可继承自预设监听器接口协议,由于预设监听器接口协议中包括弹幕消息的接收方法,因此,第二引用关系在集成预设监听器接口协议后,也具有该协议的内部函数,即弹幕消息的接收方法。第二直播间在运行过程中,弹幕分发对象通过调用弹幕消息的接收方法,可将弹幕消息分发到第二直播间。
S230、弹幕分发对象监听安卓系统内存的容量变化,如果确定内存的剩余存储容量达到第一设定阈值,则将预设键值对集合对象中除当前引用关系之外的目标引用关系进行删除。
在直播间切换过程中,永远都不会释放当前正在运行的直播间。因此,如果预设键值对集合对象中存储的引用关系过多,则会导致系统内存不足的问题,从而影响系统的正常运行。
具体的,本实施例通过设置第一设定阈值来监听系统内存容量的变化,如果剩余的存储容量达到第一设定阈值,则可将预设键值对集合对象中除当前引用关系之外的目标引用关系进行删除。其中,目标引用关系为使用频率低于第二设定阈值的直播间的引用关系。
需要说明的,本实施例中删除的一定是非当前正在运行的直播间的引用关系,那么为了识别正在运行的直播间,可通过定义一个全局作用域的预设协议对象,用于存储当前正在运行的直播间的当前引用关系。只要是存在直播间的切换操作,则将该预设协议对象赋值为切换后的直播间的引用关系。因此,在对预设键值对集合对象中的目标引用关系进行删除时,可将目标引用关系与预设协议对象作比较,如果二者不同,则对目标引用关系进行删除,当如果二者相同,则说明目标引用关系对应的直播间为当前正在运行的直播间。
具体的,弹幕分发对象在删除目标引用关系时,可从预设键值对集合对象中选择目标引用关系,然后可通过调用字符串相等判断方法判断目标引用关系与预设协议对象是否相等,如果不相等,说明目标引用关系对应的直播间非当前正在运行的直播间,此时,将目标引用关系进行删除。
具体的,字符串相等判断方法TextUtils.equals的代码实现如下:
TextUtils.equals(mDanmuRouterListener,targetDanmuRouterListener),其中,mDanmuRouterListener和targetDanmuRouterListener分别为字符串相等判断方法的两个输入参数。mDanmuRouterListener标识预设协议对象,targetDanmuRouterListener表示目标引用关系。如果mDanmuRouterListener和targetDanmuRouterListener相同,则返回true;如果不相同,则返回false。
可选的,还可以将除当前引用关系之外的其他引用关系进行随机删除,以使其中一个已销毁的直播间的内存得到释放。或者也可将除当前引用关系之外的其他引用关系全部删除,使得除当前正在运行的直播间之外的其他所有直播间的内存都得到释放,从而解决内存泄露的问题。
具体的,删除直播间的引用关系可通过将该直播间的引用关系置空,即通过调用空对象赋值函数targetDanmuRouterListener=null,将直播间的引用关系进行删除,以对当前直播间进行回收处理。
本实施例在上述实施例的基础上,通过设置第一设定阈值来监听系统内存容量的变化,可在系统内存容量达到第一设定阈值时,将除当前引用关系之外的其他引用关系删除,从而使得非当前正在运行的直播间的内存得到释放,以解决内存泄露的问题。
实施例三
在上述实施例的实现过程中,如果下一个待显示的直播间要切换到被随机删除的直播间页面,则弹幕分发对象在预设键值对集合对象中无法找到待显示直播间的引用关系,无法进行弹幕分发。图3为本发明实施例三提供的一种弹幕消息的分发方法的流程图,本实施例在上述实施例的基础上进行了优化,增加了判断上述实施例中删除的是否为下一个待显示直播间的引用关系的操作,如图3所示,该方法包括:
S310、待显示直播间在接收到显示指示时,向弹幕分发对象发送待显示直播间的第三标识信息。
其中,待显示直播间可以为任意一种类型的直播间,例如可以为上述实施例中的第一直播间或第二直播间。直播间接收到的显示指示可以为用户发出的显示指令。对于任意一个直播间,在接收到显示指示时,都会向弹幕分发对象发送该直播间的当前标识信息,使得弹幕分发对象可根据标识信息判断当前待显示直播间的目标引用关系是否为空。
S320、弹幕分发对象根据第三标识信息判断第三标识信息对应的第三引用关系在预设键值对集合对象中是否存在,若是,则执行步骤S330;否则,执行步骤S340。
S330、待显示直播间将第三标识信息注册到弹幕分发对象的预设协议对象中,以标记正在运行的直播间,继续执行步骤S350。
示例性的,如果弹幕分发对象判断出待显示直播间的第三引用关系存在,即不为空,则说明待显示直播间的引用关系未被删除,此时,待显示直播间可将第三标识信息注册到弹幕分发对象的预设协议对象中,以标记该直播间正在运行的直播间。
具体的,待显示直播间可通过调用弹幕分发对象中的标识设置方法setkey,将第三标识信息注册到弹幕分发对象中。
其中,弹幕分发对象中的标识设置方法是为了使得外界直播间能够向弹幕分发对象发送参数。这里需要说明的是,待显示直播间在启动时,即待显示直播间在显示之前,可通过调用预设弹幕分发类中的对象获取方法DanmuClient.getInstance(),得到弹幕分发对象,该对象获取方法为单例模式,任意类型的直播间通过调用该方法返回的是同一个弹幕分发对象。本实施例中,在获得弹幕分发对象之后,可调用弹幕分发对象中的标识设置方法,向弹幕分发对象传递标识信息。
具体的,该标识设置方法setkey是一个公有类型的函数,该函数的输入参数为直播间的标识信息。由于该标识设置方法为公有类型,因此其他类可以通过弹幕分发对象调用该方法。具体的,本实施中的待显示直播间通过调用该方法,可将其第三标识信息发送到弹幕分发对象中。
具体的,在标识设置方法中,可通过调用标识赋值方法,将传进来的第三标识信息赋值给弹幕分发对象中预设协议变量,赋值后的预设协议变量,即预设协议对象则指向了正在运行的直播间。对于任意一个单例直播间,如果在该直播间要显示时,弹幕分发对象中的协议对象就会指向当前正在运行的直播间。对于弹幕分发对象而言,无需知道存储有哪些直播间的引用关系,根据协议对象即可确定正在运行的当前直播间。
S340、待显示直播间通过调用生命周期创建函数,将第三标识信息和对应的第三引用关系传递到弹幕分发对象中,并通过调用唤醒函数将第三标识信息注册到弹幕分发对象中的预设协议对象中,以标记正在运行的直播间,继续执行步骤S350。
示例性的,如果弹幕分发对象判断出待显示直播间的第三引用关系不存在,即为空,则说明待显示直播间的引用关系已被随机删除。此时,需要重新注册待显示直播间的引用关系。
具体的,待显示直播间可通过调用其生命周期创建函数onCreate,将第三标识信息和第三引用关系传递到弹幕分发对象中。弹幕分发对象可利用预设键值对集合对象来维护第三标识信息和第三引用关系。在该直播间的引用关系注册成功后,还需调用生命周期唤醒函数onResume,将第三标识信息再次传入弹幕分发对象中,这样设置是为使得弹幕分发对象中的预设协议变量被赋值为第三标识信息,从而使得赋值后得到的预设协议对象指向正在运行的该直播间。
S350、弹幕分发对象基于预设协议对象,将弹幕消息分发到当前正在运行的直播间。
其中,上述待显示直播间在将第三标识信息注册到弹幕分发对象中后,弹幕分发对象则指向该待显示直播间,该待显示直播间为即步骤S350中当前正在运行的直播间。
本实施例在上述实施例的基础上,对于任意一种类型的直播间在显示之前,弹幕分发对象会判断其引用关系是否存在,以避免该直播间的引用关系被随机删除而导致弹幕消息无法分发的问题。并且,这样设置也避免了直播间在显示时由于多次实例化引用关系而对系统性能的影响。
实施例四
图4为本发明实施例四提供的一种弹幕消息的分发装置的结构框图,如图4所示,该装置包括第一信息发送模块410、引用关系替换模块420和弹幕分发模块430。
其中,第一信息发送模块410,用于第一直播间在销毁后,如果再次接收到启动指示,则调用所述第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息和对应的当前第一引用关系;
引用关系替换模块420,用于弹幕分发对象根据所述第一标识信息,将预设键值对集合对象中已存储的所述第一直播间的历史引用关系替换为所述当前第一引用关系;其中,所述当前第一引用关系继承自预设监听器接口协议,所述预设监听器接口协议中包括弹幕消息的接收方法;
弹幕分发模块430,用于弹幕分发对象基于所述当前第一引用关系,通过调用所述弹幕消息的接收方法,将弹幕消息分发到所述第一直播间。
本发明实施例的技术方案,同类型的直播间在切换过程中,当第一直播间在销毁后,如果再次接收到启动指示,则调用第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息。对于相同类型的直播间而言,第一标识信息相同,但由于第一直播间是在销毁后再次启动,则第一标识信息对应的第一引用关系则会发生改变。弹幕分发对象会根据第一标识信息,将预设键值对集合对象中已存储的第一直播间的历史引用关系替换为第一标识信息对应的当前第一引用关系。这样设置可使得弹幕分发对象中第一直播间的引用关系得到更新,即替换为新的当前第一引用关系,从而使得旧的历史引用关系被断开,以使得切换前的第一直播间被释放,避免了内存泄露的问题。并且,当前第一引用关系为正在运行的当前直播间对应的引用关系,弹幕分发对象可基于该引用关系中的接收方法,将弹幕消息发送到正在运行的当前直播间,提升了弹幕消息的分发效率。
在上述实施例的基础上,所述装置还包括:
第二信息发送模块,用于第一直播间在销毁后,如果第二直播间接收到启动指示,则第二直播间通过调用第二直播间的生命周期创建函数,向弹幕分发对象发送第二直播间的第二标识信息和当前第二引用关系;其中,所述第二直播间和第一直播间为不同类型的直播间;
相应的,弹幕分发模块,用于将所述第二标识信息和所述当前第二引用关系以键值对形式存储于所述预设键值对集合对象中,并基于所述当前第二引用关系,通过调用所述弹幕消息的接收方法,将弹幕消息分发到所述第二直播间。
在上述实施例的基础上,所述装置还包括:
内存监听模块,用于弹幕分发对象监听安卓系统内存的容量变化;
引用关系删除模块,用于如果确定所述内存的剩余存储容量达到第一设定阈值,则将所述预设键值对集合对象中除当前引用关系之外的目标引用关系进行删除;其中,所述目标引用关系为使用频率低于第二设定阈值的直播间的引用关系。
在上述实施例的基础上,所述引用关系删除模块具体用于:
弹幕分发对象从预设键值对集合对象中选择目标引用关系;
弹幕分发对象调用字符串相等判断方法,如果所述目标引用关系与预设协议对象不相等,则将所述目标引用关系删除;其中,所述预设协议对象为全局类型,用于存储正在运行的直播间的当前引用关系。
在上述实施例的基础上,所述装置还包括:
第三信息发送模块,用于待显示直播间在接收到显示指示时,向所述弹幕分发对象发送所述待显示直播间的第三标识信息;
第三引用关系判断模块,用于所述弹幕分发对象根据所述第三标识信息判断所述第三标识信息对应的第三引用关系在所述预设键值对集合对象中是否存在;
第三标识信息注册模块,用于当第三引用关系在所述预设键值对集合对象中存在时,所述待显示直播间将所述第三标识信息注册到所述弹幕分发对象的预设协议对象中,以标记正在运行的直播间;
信息注册模块,用于当第三引用关系在所述预设键值对集合对象中不存在时,所述待显示直播间通过调用生命周期创建函数,将所述第三标识信息和对应的第三引用关系传递到弹幕分发对象中,并通过调用唤醒函数将第三标识信息注册到所述弹幕分发对象中的预设协议对象中,以标记正在运行的直播间。
在上述实施例的基础上,所述待显示直播间在启动时,通过调用预设弹幕分发类中的对象获取方法,得到所述弹幕分发对象;
相应的,所述唤醒函数通过如下方式实现将第三标识信息注册到所述弹幕分发对象的预设协议对象中的功能:
待显示直播间以第三标识信息作为参数,通过调用所述弹幕分发对象中的预设标识设置方法,将第三标识信息注册到所述弹幕分发对象的预设协议对象中。
在上述实施例的基础上,所述预设标识设置方法通过如下方式实现将第三标识信息注册到所述弹幕分发对象的预设协议对象中的功能:
调用标识赋值方法,将第三标识信息赋值给所述弹幕分发对象中的所述预设协议变量,以使赋值后得到的预设协议对象指向正在运行的当前直播间。
本发明实施例所提供的弹幕消息的分发装置可执行本发明任意实施例所提供的弹幕消息的分发方法,具备执行方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的弹幕消息的分发方法。
实施例五
图5为本发明实施例五提供的一种终端的结构示意图。图5示出了适于用来实现本发明实施方式的示例性终端12的框图。图5显示的终端12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,终端12以通用计算设备的形式表现。终端12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
终端12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。终端12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
终端12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该终端12交互的设备通信,和/或与使得该终端12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,终端12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与终端12的其它模块通信。应当明白,尽管图中未示出,可以结合终端12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的弹幕消息的分发方法,该方法包括:
第一直播间在销毁后,如果再次接收到启动指示,则调用所述第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息和对应的当前第一引用关系;
弹幕分发对象根据所述第一标识信息,将预设键值对集合对象中已存储的所述第一直播间的历史引用关系替换为所述当前第一引用关系;其中,所述当前第一引用关系继承自预设监听器接口协议,所述预设监听器接口协议中包括弹幕消息的接收方法;
弹幕分发对象基于所述当前第一引用关系,通过调用所述弹幕消息的接收方法,将弹幕消息分发到所述第一直播间。
实施例六
本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的弹幕消息的分发方法,该方法包括:
第一直播间在销毁后,如果再次接收到启动指示,则调用所述第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息和对应的当前第一引用关系;
弹幕分发对象根据所述第一标识信息,将预设键值对集合对象中已存储的所述第一直播间的历史引用关系替换为所述当前第一引用关系;其中,所述当前第一引用关系继承自预设监听器接口协议,所述预设监听器接口协议中包括弹幕消息的接收方法;
弹幕分发对象基于所述当前第一引用关系,通过调用所述弹幕消息的接收方法,将弹幕消息分发到所述第一直播间。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种弹幕消息的分发方法,其特征在于,包括:
第一直播间在销毁后,如果再次接收到启动指示,则调用所述第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息和对应的当前第一引用关系;
弹幕分发对象根据所述第一标识信息,将预设键值对集合对象中已存储的所述第一直播间的历史引用关系替换为所述当前第一引用关系;其中,所述当前第一引用关系继承自预设监听器接口协议,所述预设监听器接口协议中包括弹幕消息的接收方法;
弹幕分发对象基于所述当前第一引用关系,通过调用所述弹幕消息的接收方法,将弹幕消息分发到所述第一直播间。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
第一直播间在销毁后,如果第二直播间接收到启动指示,则第二直播间通过调用所述第二直播间的生命周期创建函数,向弹幕分发对象发送第二直播间的第二标识信息和当前第二引用关系;其中,所述第二直播间和第一直播间为不同类型的直播间;
相应的,弹幕分发对象将所述第二标识信息和所述当前第二引用关系以键值对形式存储于所述预设键值对集合对象中,并基于所述当前第二引用关系,通过调用所述弹幕消息的接收方法,将弹幕消息分发到所述第二直播间。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
弹幕分发对象监听安卓系统内存的容量变化;
如果确定所述内存的剩余存储容量达到第一设定阈值,则将所述预设键值对集合对象中除当前引用关系之外的目标引用关系进行删除;其中,所述目标引用关系为使用频率低于第二设定阈值的直播间的引用关系。
4.根据权利要求3所述的方法,其特征在于,将所述预设键值对集合对象中除当前引用关系之外的目标引用关系进行删除,包括:
弹幕分发对象从预设键值对集合对象中选择目标引用关系;
弹幕分发对象调用字符串相等判断方法,如果所述目标引用关系与预设协议对象不相等,则将所述目标引用关系删除;其中,所述预设协议对象为全局类型,用于存储正在运行的直播间的当前引用关系。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
待显示直播间在接收到显示指示时,向所述弹幕分发对象发送所述待显示直播间的第三标识信息;
所述弹幕分发对象根据所述第三标识信息判断所述第三标识信息对应的第三引用关系在所述预设键值对集合对象中是否存在;
如果存在,则所述待显示直播间将所述第三标识信息注册到所述弹幕分发对象的预设协议对象中,以标记正在运行的直播间;
如果不存在,则所述待显示直播间通过调用生命周期创建函数,将所述第三标识信息和对应的第三引用关系传递到弹幕分发对象中,并通过调用唤醒函数将第三标识信息注册到所述弹幕分发对象中的预设协议对象中,以标记正在运行的直播间。
6.根据权利要求5所述的方法,其特征在于,所述待显示直播间在启动时,通过调用预设弹幕分发类中的对象获取方法,得到所述弹幕分发对象;
相应的,所述唤醒函数通过如下方式实现将第三标识信息注册到所述弹幕分发对象的预设协议对象中的功能:
待显示直播间以第三标识信息作为参数,通过调用所述弹幕分发对象中的预设标识设置方法,将第三标识信息注册到所述弹幕分发对象的预设协议对象中。
7.根据权利要求6所述的方法,其特征在于,所述预设标识设置方法通过如下方式实现将第三标识信息注册到所述弹幕分发对象的预设协议对象中的功能:
调用标识赋值方法,将第三标识信息赋值给所述弹幕分发对象中的所述预设协议变量,以使赋值后得到的预设协议对象指向正在运行的当前直播间。
8.一种弹幕消息的分发装置,其特征在于,包括:
第一信息发送模块,用于第一直播间在销毁后,如果再次接收到启动指示,则调用所述第一直播间的生命周期创建函数,向弹幕分发对象发送第一标识信息和对应的当前第一引用关系;
引用关系替换模块,用于弹幕分发对象根据所述第一标识信息,将预设键值对集合对象中已存储的所述第一直播间的历史引用关系替换为所述当前第一引用关系;其中,所述当前第一引用关系继承自预设监听器接口协议,所述预设监听器接口协议中包括弹幕消息的接收方法;
弹幕分发模块,用于弹幕分发对象基于所述当前第一引用关系,通过调用所述弹幕消息的接收方法,将弹幕消息分发到所述第一直播间。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的弹幕消息的分发方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的弹幕消息的分发方法。
CN201811221960.5A 2018-10-19 2018-10-19 一种弹幕消息的分发方法、装置、终端和存储介质 Active CN109413498B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811221960.5A CN109413498B (zh) 2018-10-19 2018-10-19 一种弹幕消息的分发方法、装置、终端和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811221960.5A CN109413498B (zh) 2018-10-19 2018-10-19 一种弹幕消息的分发方法、装置、终端和存储介质

Publications (2)

Publication Number Publication Date
CN109413498A true CN109413498A (zh) 2019-03-01
CN109413498B CN109413498B (zh) 2021-04-23

Family

ID=65467891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811221960.5A Active CN109413498B (zh) 2018-10-19 2018-10-19 一种弹幕消息的分发方法、装置、终端和存储介质

Country Status (1)

Country Link
CN (1) CN109413498B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442404A (zh) * 2019-08-13 2019-11-12 武汉斗鱼鱼乐网络科技有限公司 一种对象释放方法、装置、设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261530A1 (en) * 2015-03-03 2016-09-08 International Business Machines Corporation Moderating online discussion using graphical text analysis
CN106028166A (zh) * 2016-06-24 2016-10-12 北京小米移动软件有限公司 直播过程中直播间切换方法及装置
CN106686396A (zh) * 2016-12-30 2017-05-17 广州酷狗计算机科技有限公司 一种切换直播间的方法和系统
CN107066266A (zh) * 2017-03-22 2017-08-18 北京潘达互娱科技有限公司 安卓应用中支持Unity的数据处理方法及装置
CN107147951A (zh) * 2017-04-11 2017-09-08 武汉斗鱼网络科技有限公司 信息交互方法及装置
US20180160158A1 (en) * 2016-12-06 2018-06-07 Bing Liu Method and system for live stream broadcast and content monetization
CN108536492A (zh) * 2018-04-08 2018-09-14 武汉斗鱼网络科技有限公司 一种直播间属性信息获取方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261530A1 (en) * 2015-03-03 2016-09-08 International Business Machines Corporation Moderating online discussion using graphical text analysis
CN106028166A (zh) * 2016-06-24 2016-10-12 北京小米移动软件有限公司 直播过程中直播间切换方法及装置
US20180160158A1 (en) * 2016-12-06 2018-06-07 Bing Liu Method and system for live stream broadcast and content monetization
CN106686396A (zh) * 2016-12-30 2017-05-17 广州酷狗计算机科技有限公司 一种切换直播间的方法和系统
CN107066266A (zh) * 2017-03-22 2017-08-18 北京潘达互娱科技有限公司 安卓应用中支持Unity的数据处理方法及装置
CN107147951A (zh) * 2017-04-11 2017-09-08 武汉斗鱼网络科技有限公司 信息交互方法及装置
CN108536492A (zh) * 2018-04-08 2018-09-14 武汉斗鱼网络科技有限公司 一种直播间属性信息获取方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑珍: "《基于在线直播技术在线教育APP的设计与实现》", 《中国优秀硕士学位论文全文数据库》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442404A (zh) * 2019-08-13 2019-11-12 武汉斗鱼鱼乐网络科技有限公司 一种对象释放方法、装置、设备和存储介质
CN110442404B (zh) * 2019-08-13 2022-07-05 武汉斗鱼鱼乐网络科技有限公司 一种对象释放方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN109413498B (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
CN106792188B (zh) 一种直播页面的数据处理方法、装置、系统和存储介质
CN109213611B (zh) 跨进程通讯方法、装置、终端及存储介质
CN109275042A (zh) 一种弹幕消息的分发方法、装置、终端和存储介质
CN111552450A (zh) 一种投屏方法及装置
CN108132735B (zh) 终端与应用控制方法
EP3211527A1 (en) Multi-screen sharing based application management method and device, and storage medium
CN112114761A (zh) 一种无线投屏控制方法、装置、终端设备及可读存储介质
CN104331319B (zh) 虚拟桌面实例的管理方法及装置
WO2021102691A1 (zh) 资源订阅方法、装置、计算机设备和存储介质
CN106550030B (zh) 一种数据共享方法、装置及系统
CN109302639B (zh) 一种弹幕消息的分发方法、装置、终端和存储介质
WO2017219872A1 (zh) 机顶盒的升级、换台方法及系统
CN116820527B (zh) 程序升级方法、装置、计算机设备和存储介质
CN109413498A (zh) 一种弹幕消息的分发方法、装置、终端和存储介质
CN109413507B (zh) 弹幕库与直播间引用关系的处理方法、装置、终端和介质
US10958726B2 (en) Method of synchronizing device list in a smart network system, apparatus, and computer storage medium thereof
CN109327726B (zh) 一种弹幕消息的处理方法、装置、终端和存储介质
CN105898596A (zh) 直播间显示控制方法及装置
CN109348303A (zh) 一种弹幕消息的分发方法、装置、终端和存储介质
CN116032614A (zh) 容器网络微隔离方法、装置、设备和介质
CN112380411B (zh) 敏感词处理方法、装置、电子设备、系统及存储介质
CN113986995A (zh) 请求分发方法、装置、存储介质及电子设备
CN109726026B (zh) 一种交互数据处理方法、装置、设备及存储介质
CN105677408A (zh) 一种应用的删除方法和装置
CN110880974A (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
GR01 Patent grant
GR01 Patent grant