[发明专利]系统应用消息的处理方法和装置在审
申请号: | 201710667030.1 | 申请日: | 2017-08-07 |
公开(公告)号: | CN107506184A | 公开(公告)日: | 2017-12-22 |
发明(设计)人: | 关岐;罗峰 | 申请(专利权)人: | 上海青橙实业有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/445;G06F9/54 |
代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 胡艾青,刘芳 |
地址: | 201315 上海市浦东新区秀*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 系统 应用 消息 处理 方法 装置 | ||
技术领域
本发明涉及信号处理技术,尤其涉及一种系统应用消息的处理方法和装置。
背景技术
一个安卓(Android)应用程序被创建的时候都会创建一个主线程,但是对于比较耗时的操作,为了防止阻塞主线程,我们会将耗时的操作放到子线程中进行处理,处理完之后操作用户界面(User Interface,UI),可Android系统的UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。所以通常是通过Handler消息机制在Android系统中实现线程之间的通讯:主线程为待处理的消息对应创建一个AHandler组件,AHandler组件将接收到的待处理消息发送至AHandler组件对应的子线程进行处理,获得处理结果后返回主线程,然后在主线程中进行UI操作就不会再出现崩溃。
但是,现有的Handle消息机制中发出去的待处理消息只能被第一个子线程处理后返回主线程,再由主线程发给第二个子线程进行处理,这就导致了发出消息的Handler可以是多个,但是同一时间处理消息的地方只能是一个子线程。
现有的Handler消息机制无法实现从一个界面接收到消息后,在多个界面对应的子线程同时进行处理,导致在现有的Android系统中UI刷新速度较慢。
发明内容
本发明提供一种系统应用消息的处理方法和装置,以提高Android系统中UI刷新速度。
根据本发明的第一方面,提供一种系统应用消息的处理方法,应用于主线程,所述主线程创建了多个Handler组件,每个Handler组件对应一个界面;所述方法包括:
第二Handler组件接收第一Handler组件传递的第一Handler消息,并向第三Handler组件传递第二Handler消息,其中,所述第二Handler消息中的消息内容与所述第一Handler消息中的消息内容一致;
所述主线程根据所述第二Handler组件和第三Handler组件的消息处理结果,更新所述第二Handler组件和所述第三Handler组件各自对应的界面。
进一步地,所述第二Handler组件向第三Handler组件传递第二Handler消息,包括:
所述第二Handler组件通过预设的参数传递对象向第三Handler组件传递第二Handler消息;
其中,所述参数传递对象为以所述第二Handler组件中确定所述第二Handler消息的过程为构造方法,在所述第三Handler组件中预先创建的对象。
进一步地,所述主线程根据所述第二Handler组件和第三Handler组件的消息处理结果,更新所述第二Handler组件和所述第三Handler组件各自对应的界面,包括:
所述第二Handler组件将根据所述第一Handler消息获得的第一消息处理结果发送至主线程消息队列;
所述第三Handler组件将根据所述第二Handler消息获得的第二消息处理结果发送至主线程消息队列;
所述主线程根据所述线程消息队列中的消息处理结果,更新所述第二Handler组件和所述第三Handler组件各自对应的界面。
进一步地,在所述第二Handler组件将根据所述第一Handler消息获得的第一消息处理结果发送至主线程消息队列之前,还包括:
所述第二Handler组件将所述第一Handler消息发送给所述第二Handler组件对应的子线程,所述子线程对所述第一Handler消息进行处理,得到第一消息处理结果,并将所述第一消息处理结果发送给所述第二Handler组件。
进一步地,所述第一Handler组件与所述第三Handler组件为同一组件。
根据本发明的第二方面,提供一种系统应用消息的处理装置,其特征在于,包括:主线程、第一Handler组件、第二Handler组件和第三Handler组件;所述第一Handler组件、第二Handler组件和第三Handler组件由所述主线程创建,所述第一Handler组件、第二Handler组件和第三Handler组件各对应一个界面;
所述第二Handler组件用于:接收第一Handler组件传递的第一Handler消息,并向第三Handler组件传递第二Handler消息,其中,所述第二Handler消息中的消息内容与所述第一Handler消息中的消息内容一致;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海青橙实业有限公司,未经上海青橙实业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710667030.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据拦截处理方法及装置
- 下一篇:一种数据解析和数据展示方法及系统