一种用户界面更新的实现方法及装置制造方法及图纸

技术编号:17911944 阅读:31 留言:0更新日期:2018-05-10 18:00
本发明专利技术提供一种用户界面更新的实现方法及装置,所述方法包括:S1,定义接口协议,在所述接口协议中定义耗时任务处理函数和用户界面更新函数;S2,使用HandlerThread类构建消息发送器,当在子线程中调用所述耗时任务处理函数完成耗时任务后,在所述子线程中调用所述消息发送器向主线程发送耗时任务完成消息;S3,当所述主线程接收到所述耗时任务完成消息之后,在所述主线程中回调所述用户界面更新函数,以使用所述用户界面更新函数更新用户界面。本发明专利技术一方面实现线程间的自动切换,减小了系统开销,提高了通信的准确性;另一方面,提高了开发效率,同时程序的逻辑结构也更加清晰,便于后期维护。

【技术实现步骤摘要】
一种用户界面更新的实现方法及装置
本专利技术属于软件开发领域,更具体地,涉及一种用户界面更新的实现方法及装置。
技术介绍
在Android中经常涉及到用户界面的更新,在更新用户界面时,有时候需要先处理很多耗时任务,等耗时任务处理完成,并得出结果后才能对用户界面进行更新。在Android系统中,如果主线程中的耗时操作超过5秒钟就会产生ANR(ApplicationNotResponding,应用程序无响应)错误,严重影响用户体验。传统的开发过程中,将耗时任务存放到子线程中进行处理。但是,耗时任务在子线程中进行处理会产生子线程和主线程通信的问题。在Android中子线程和主线程通信的工具是Handler,需要维系一套消息队列,这样整个逻辑实现起来非常复杂,需要在主线程和子线程之间进行来回的消息通信流程,导致程序结果混乱,不便于维护。
技术实现思路
为克服上述现有的用户界面更新中实现复杂,程序结果混乱和不便于维护的问题或者至少部分地解决上述问题,本专利技术提供了一种用户界面更新的实现方法及装置。根据本专利技术的第一方面,提供一种用户界面更新的实现方法,包括:S1,定义接口协议,在所述接口协议中本文档来自技高网...
一种用户界面更新的实现方法及装置

【技术保护点】
一种用户界面更新的实现方法,其特征在于,包括:S1,定义接口协议,在所述接口协议中定义耗时任务处理函数和用户界面更新函数;S2,使用HandlerThread类构建消息发送器,当在耗时任务处理子线程中调用所述耗时任务处理函数执行完成耗时任务后,在所述耗时任务处理子线程中调用所述消息发送器向用户界面更新主线程发送耗时任务完成消息;S3,当所述用户界面更新主线程接收到所述耗时任务完成消息之后,在所述用户界面更新主线程中回调所述用户界面更新函数,以使用所述用户界面更新函数更新用户界面。

【技术特征摘要】
1.一种用户界面更新的实现方法,其特征在于,包括:S1,定义接口协议,在所述接口协议中定义耗时任务处理函数和用户界面更新函数;S2,使用HandlerThread类构建消息发送器,当在耗时任务处理子线程中调用所述耗时任务处理函数执行完成耗时任务后,在所述耗时任务处理子线程中调用所述消息发送器向用户界面更新主线程发送耗时任务完成消息;S3,当所述用户界面更新主线程接收到所述耗时任务完成消息之后,在所述用户界面更新主线程中回调所述用户界面更新函数,以使用所述用户界面更新函数更新用户界面。2.根据权利要求1所述的方法,其特征在于,所述步骤S1还包括:在所述接口协议中定义初始化函数,所述初始化函数用于执行用户界面更新的初始化业务,所述初始化函数在用户界面更新主线程中执行。3.根据权利要求1或2所述的方法,其特征在于,所述步骤S2中使用HandlerThread类构建消息发送器的步骤具体包括:对HandlerThread类进行实例化,生成HandlerThread对象;将用户界面更新主线程的消息循环传递给所述HandlerThread对象,完成消息发送器的构建。4.根据权利要求1或2所述的方法,其特征在于,所述步骤S2还包括:对Thread类进行实例化,生成Thread对象;调用所述Thread对象的start方法开启所述耗时任务处理子线程。5.根据权利要求1或2所述的方法,其特征在于,所述步骤S3之后还包括:在所述用户界面更新函数中调...

【专利技术属性】
技术研发人员:张磊陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1