功能类使用Handler进行消息处理的方法和装置制造方法及图纸

技术编号:16885790 阅读:57 留言:0更新日期:2017-12-27 03:35
本发明专利技术实施例提供一种功能类使用Handler进行消息处理的方法和装置。本发明专利技术功能类使用Handler进行消息处理的方法,包括:所述功能类接收业务处理请求消息;所述功能类通过第一Handler类和第二Handler类对所述业务处理请求消息进行处理;其中,所述第二Handler类弱引用所述第一Handler类,所述第二Handler类为原生Handler的子类。本发明专利技术实施例以简单的方式实现原生Handler到功能类的可达路径为弱可达,有效避免直接使用原生Handler导致功能类内存泄漏的问题,降低APP的崩溃率和OOM问题。

The methods and devices for message processing using Handler for functional classes

An embodiment of the invention provides a method and device for the use of Handler for message processing by a functional class. The present invention features the use of Handler method, message processing includes: the function class receives service processing request message; the function of class through the first class Handler and second class Handler of the business processing request message for processing; among them, the second class Handler weak reference the first class Handler, the second the Handler class is a subclass of native Handler. The embodiment of the invention realizes the reachable path from the native Handler to the functional class in a simple way, and it can effectively avoid the problem of directly causing the memory leakage of the functional class by using the native Handler, and reduces the APP crash rate and the OOM problem.

【技术实现步骤摘要】
功能类使用Handler进行消息处理的方法和装置
本专利技术实施例涉及计算机技术,尤其涉及一种功能类使用Handler进行消息处理的方法和装置。
技术介绍
消息处理程序(Handler)是安卓(Android)开发者进行消息传递的常用应用程序编程接口(ApplicationProgrammingInterface,API),其主要用于异步消息的处理,当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理。然而随着开发者的使用不当或者不谨慎很容易引起内存泄漏问题,严重时会造成几MB的内存空间被占用,从而提高了内存溢出(OutOfMemory,OOM)的发生概率和应用程序(Application,APP)的崩溃概率。为了避免在使用Handler引起的内存泄漏问题,可以在用户接口程序(Activity)中避免使用非静态内部类,将Handler声明为静态的,其存活期跟Activity的生命周期就无关了。同时通过弱引用的方式引入Activity,避免直接将Activity作为Context传入Handler,即使用静态内部本文档来自技高网...
功能类使用Handler进行消息处理的方法和装置

【技术保护点】
一种功能类使用Handler进行消息处理的方法,其特征在于,包括:所述功能类接收业务处理请求消息;所述功能类通过第一Handler类和第二Handler类对所述业务处理请求消息进行处理;其中,所述第二Handler类弱引用所述第一Handler类,所述第二Handler类为原生Handler的子类。

【技术特征摘要】
1.一种功能类使用Handler进行消息处理的方法,其特征在于,包括:所述功能类接收业务处理请求消息;所述功能类通过第一Handler类和第二Handler类对所述业务处理请求消息进行处理;其中,所述第二Handler类弱引用所述第一Handler类,所述第二Handler类为原生Handler的子类。2.根据权利要求1所述的方法,其特征在于,所述功能类接收业务处理请求消息之前,所述方法还包括:创建所述第一Handler类,所述第一Handler类的属性包括调用所述第二Handler类。3.根据权利要求2所述的方法,其特征在于,所述功能类接收业务处理请求消息之前,所述方法还包括:创建所述第二Handler类,所述第二Handler类继承所述原生Handler类的所有属性和所有消息处理方法,且所述第二Handler类的属性还包括弱引用所述第一Handler类。4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一Handler类和所述第二Handler类的可见性均为私有。5.根据权利要求1至3任一项所述的方法,其特征在于,所述功能类通过第一Handler类和第二Handler类对所述业务处理请求消息进行处理,包括:在所述功能类的生命周期内,所述功能类通过第一Handler类和...

【专利技术属性】
技术研发人员:王永川
申请(专利权)人:北京五八信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1