System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及人工智能,具体涉及一种广播调度处理方法、装置、计算机设备以及存储介质。
技术介绍
1、在安卓系统中,广播(broadcast)是一种应用程序内或者应用程序之间的信息传输通信机制。在安卓系统中活动管理服务(activity manager service,ams)创建广播队列和广播处理线程进行广播消息的发送和接收等主要流程,广播处理线程每次从广播队列中拿出广播消息后,逐一发送给对应的接收方应用,当一个接收方应用处理完成后才发送给下一个接收方应用。
2、当出现大量的广播消息需要发送时,例如在系统开机阶段,会出现大量广播消息堆积在广播队列中等待处理,导致广播消息难以得到及时处理,应用程序的广播消息接收延迟,导致系统或应勇程序运行卡顿。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种广播调度处理方法、装置、计算机设备以及存储介质,用以提升系统以及应用程序的流畅度。
2、第一方面,本申请提供一种广播调度处理方法,应用于广播调度处理系统,所述广播调度处理系统包括至少两个广播处理线程以及分别与各所述广播处理线程对应的广播队列;该方法包括:
3、接收发送方应用发送的第一广播消息;
4、根据所述第一广播消息的广播配置信息确定所述第一广播消息的广播类型;
5、在与各所述广播处理线程对应的广播队列中,确定与所述广播类型对应的广播子队列以及各所述广播子队列中的广播数量;
6、基于各所述广播子队列中的广播数量,从各
7、在本申请一些实施例中,所述将所述第一广播消息发送至所述目标广播子队列的步骤之后,还包括:
8、获取当前系统负载信息;
9、若所述系统负载信息小于预设负载阈值时,拉起所述广播处理线程,并通过所述广播处理线程从所述广播处理线程对应的广播队列中获取第二广播消息;
10、获取所述第二广播消息的第一接收方应用,并查询所述第一接收方应用的应用状态;
11、若所述第一接收方应用的应用状态为正常状态,通过所述广播处理线程将所述第二广播消息发送至所述第一接收方应用。
12、在本申请一些实施例中,所述查询所述第一接收方应用的应用状态的步骤之后,还包括:
13、若所述第一接收方应用的应用状态为卡顿状态,获取所述第二广播消息的第二接收方应用以及所述第二接收方应用的应用状态;
14、若所述第二接收方应用的应用状态为正常状态,将第二广播消息发送至所述第二接收方应用,并重新执行查询所述第一接收方应用的应用状态的步骤。
15、在本申请一些实施例中,所述查询所述第一接收方应用的应用状态的步骤之后,还包括:
16、若所述第一接收方应用的应用状态为卡顿状态,从所述广播处理线程对应的广播队列中获取第三广播消息;
17、在完成所述第三广播消息的发送后,重新执行查询所述第一接收方应用的应用状态的步骤。
18、在本申请一些实施例中,所述查询所述第一接收方应用的应用状态的步骤,包括:
19、获取所述第一接收方应用对应主线程的待处理事件数量;
20、若所述待处理事件数量大于预设事件数量阈值,将所述第一接收方应用的应用状态确定为卡顿状态;
21、若所述待处理事件数量小于或等于预设事件数量阈值,将所述第一接收方应用的应用状态确定为正常状态。
22、在本申请一些实施例中,所述获取当前系统负载信息的步骤之后,还包括:
23、若所述系统负载信息大于或等于预设负载阈值时,在预设时间后拉起所述广播处理线程并从所述广播处理线程对应的广播队列中获取第一广播消息。
24、在本申请一些实施例中,所述广播队列包括前台广播子队列以及后台广播子队列。
25、第二方面,本申请提供一种广播调度处理装置,应用于广播调度处理系统,所述广播调度处理系统包括至少两个广播处理线程以及分别与各所述广播处理线程对应的广播队列;该装置包括:
26、广播消息接收模块,用于接收发送方应用发送的第一广播消息;
27、广播类型获取模块,用于根据所述第一广播消息的广播配置信息确定所述第一广播消息的广播类型;
28、广播数量获取模块,用于在与各所述广播处理线程对应的广播队列中,确定与所述广播类型对应的广播子队列以及各所述广播子队列中的广播数量;
29、广播存储模块,用于基于各所述广播子队列中的广播数量,从各所述广播子队列中确定广播数量满足预置条件的目标广播子队列,以将所述第一广播消息发送至所述目标广播子队列。
30、第三方面,本申请还提供一种计算机设备,计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现广播调度处理方法。
31、第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行广播调度处理方法中的步骤。
32、上述广播调度处理方法、装置、计算机设备以及存储介质,可应用于广播调度处理系统,广播调度处理包括至少两个广播处理线程以及分别与各广播处理线程对应的广播队列;通过接收发送方应用发送的第一广播消息;根据第一广播消息的广播配置信息确定第一广播消息的广播类型;在与各广播处理线程对应的广播队列中,确定与广播类型对应的广播子队列以及各广播子队列中的广播数量;确定广播数量最少的目标广播子队列,并将第一广播消息发送至目标广播子队列。通过设置多个广播队列,在获取到发送方应用发送的第一广播消息后,将第一广播消息发送至广播类型相同、且待发送广播数量较少的广播子队列中,以提高第一广播消息的处理速度,减少广播消息的处理等待时长,提升系统以及应用程序的流畅度。
本文档来自技高网...【技术保护点】
1.一种广播调度处理方法,其特征在于,应用于广播调度处理系统,所述广播调度处理系统包括至少两个广播处理线程以及分别与各所述广播处理线程对应的广播队列;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述第一广播消息发送至所述目标广播子队列的步骤之后,还包括:
3.根据权利要求2所述的方法,其特征在于,所述查询所述第一接收方应用的应用状态的步骤之后,还包括:
4.根据权利要求2所述的方法,其特征在于,所述查询所述第一接收方应用的应用状态的步骤之后,还包括:
5.根据权利要求2所述的方法,其特征在于,所述查询所述第一接收方应用的应用状态的步骤,包括:
6.根据权利要求2所述的方法,其特征在于,所述获取当前系统负载信息的步骤之后,还包括:
7.根据权利要求1至6任意一项所述方法,其特征在于,所述广播队列包括前台广播子队列以及后台广播子队列。
8.一种广播调度处理装置,其特征在于,应用于广播调度处理系统,所述广播调度处理系统包括至少两个广播处理线程以及分别与各所述广播处理线程对应的广播队列
9.一种计算机设备,其特征在于,所述计算机设备包括:
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的广播调度处理方法中的步骤。
...【技术特征摘要】
1.一种广播调度处理方法,其特征在于,应用于广播调度处理系统,所述广播调度处理系统包括至少两个广播处理线程以及分别与各所述广播处理线程对应的广播队列;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述第一广播消息发送至所述目标广播子队列的步骤之后,还包括:
3.根据权利要求2所述的方法,其特征在于,所述查询所述第一接收方应用的应用状态的步骤之后,还包括:
4.根据权利要求2所述的方法,其特征在于,所述查询所述第一接收方应用的应用状态的步骤之后,还包括:
5.根据权利要求2所述的方法,其特征在于,所述查询所述第一接收方应用的应用状态的步骤,包括:
【专利技术属性】
技术研发人员:刘伟,
申请(专利权)人:深圳TCL新技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。