[发明专利]处理状态事件的方法、装置、终端及存储介质有效
申请号: | 201811490085.0 | 申请日: | 2018-12-06 |
公开(公告)号: | CN109861966B | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 邓生金 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | H04L65/1073 | 分类号: | H04L65/1073;H04L65/611;G06F9/54 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 唐述灿 |
地址: | 100084 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 状态 事件 方法 装置 终端 存储 介质 | ||
本公开是关于一种处理状态事件的方法、装置、终端及存储介质,属于计算机应用领域,该方法包括:接收操作系统的广播消息;确定状态事件对应的任务的至少一个第一子任务和至少一个第二子任务;将至少一个第一子任务分配给应用客户端的主线程执行,将至少一个第二子任务分配给应用客户端的子线程执行。本公开能够将状态事件对应的任务拆分为多个子任务,将预计完成耗时小于预设耗时的第一子任务分配给主线程执行,将预计完成耗时不小于预设耗时的第二子任务分配给子线程执行,通过开启异步线程池,避免了预计完成耗时时间长的子任务影响主线程正在执行的其他任务,从而避免了应用客户端出现ANR和卡顿现象,提高了应用客户端的运行效率。
技术领域
本公开涉及计算机应用领域,尤其涉及一种处理广播事件的方法、装置、终端及存储介质。
背景技术
在终端内部,一般由操作系统来监控应用客户端的状态;并且,操作系统监控到该应用客户端的状态发生改变时,通过系统四大组件中的广播组件来向应用客户端发送广播消息,由应用客户端根据该广播消息,处理状态改变的状态事件。例如,应用客户端下载某个视频时,将该视频的下载任务添加到下载列表中。操作系统监控该下载任务的状态,当操作系统监控到该下载任务完成时,确定应用客户端的状态发生改变,向应用客户端发送广播消息,该广播消息对应的状态事件为将该视频的下载任务从下载列表中移除。应用客户端接收该广播消息,将该视频的下载任务从下载列表中移除。
相关技术中应用客户端接收到广播消息时,直接将该广播消息对应的状态事件交由该应用客户端的主线程来执行。例如,应用客户端接收到该广播消息时,将该视频的下载任务从下载列表中移除由该应用客户端的主线程来执行。
当该状态事件的处理时长较长时,应用客户端将该状态事件由应用客户端的主线程来执行,会影响主线程中正在执行的其他任务,导致应用客户端出现ANR(App NotResponse,应用程序无响应)的问题,从而导致应用客户端出现卡顿。
发明内容
本公开提供一种处理状态事件的方法、装置、终端及存储介质,可以解决应用客户端出现ANR的问题。
根据本公开实施例的第一方面,提供了一种处理状态事件的方法,所述方法包括:
接收操作系统的广播消息,所述广播消息用于指示应用客户端的状态事件;
确定所述状态事件对应的任务的至少一个第一子任务和至少一个第二子任务;
将所述多个子任务中的至少一个第一子任务分配给所述应用客户端的主线程执行,将所述多个子任务中的至少一个第二子任务分配给所述应用客户端的子线程执行,所述第一子任务为预计完成耗时小于预设耗时的子任务,所述第二子任务为预计完成耗时不小于所述预设耗时的子任务。
在一种可能实现方式中,所述确定所述状态事件对应的任务的至少一个第一子任务和至少一个第二子任务包括:
将所述状态事件对应的任务拆分为多个子任务;
确定每个子任务的预计完成耗时;
基于所述每个子任务的预计完成耗时,在所述多个子任务中确定所述至少一个第一子任务,以及所述至少一个第二子任务。
在另一种可能实现方式中,所述确定每个子任务的预计完成耗时,包括:
确定所述每个子任务的任务类型,基于所述每个子任务的任务类型,从任务类型和预计完成耗时的对应关系中,获取所述每个子任务的预计完成耗时;或者,
对于每个子任务,确定所述子任务的历史耗时,将所述子任务的历史耗时作为所述子任务的预计完成耗时。
在另一种可能实现方式中,所述子线程为单队列的线程池,所述将所述至少一个第二子任务分配给所述应用客户端的子线程执行,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811490085.0/2.html,转载请声明来源钻瓜专利网。