[发明专利]一种线程检测方法、装置、设备及计算机可读存储介质在审
申请号: | 201810361925.7 | 申请日: | 2018-04-20 |
公开(公告)号: | CN108763057A | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 孟敬楠;徐萌阳 | 申请(专利权)人: | 北京五八信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 田卫平 |
地址: | 100083 北京市海淀区学清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 线程 参数类型 计算机可读存储介质 错误提醒 警告信息 标准线 不一致 对线 编译 发送 开发 | ||
本发明介绍了一种线程检测方法、装置、设备及计算机可读存储介质,该方法包括:子工程获取检测规则;所述子工程根据所述检测规则查找到RxJava中的待检测逻辑方法,并获取所述待检测逻辑方法中的线程参数类型;在所述待检测逻辑方法中的线程参数类型与所述检测规则中的标准线程参数类型不一致的情况下,所述子工程发送用于指出线程异常的警告信息。本发明可以在编译前对线程进行检测,及时向开发者进行错误提醒,避免产生线程错误的问题。
技术领域
本发明涉及线程检测技术领域,尤其涉及一种线程检测方法、装置、设备及计算机可读存储介质。
背景技术
RxJava是安卓Android开发过程中一种非常流行的技术,RxJava是Rx(ReactiveExtensions,响应式拓展)针对于Java语言的一个异步的响应式扩展编程库。RxJava可以大大提高开发效率,优化代码结构,便于线程切换。因此许多应用程序APP都是通过RxJava进行开发的。在使用过程中,伴随着RxJava的优点,一些问题也日益暴露。由于RxJava的线程切换操作极其方便,因此开发者在使用过程中很容易产生线程错误的问题。例如,在RxJava中的ObserveOn()方法决定了Subscriber的执行线程,在RxJava中的SubscribeOn()方法决定了Observable的执行线程。然而,开发者极容易把两者搞混,或是因疏忽导致线程设置错误,使代码运行在错误的线程,从而产生崩溃等问题。由于RxJava内部对错误进行了捕获,开发者很难直接定位到错误,造成了改错成本巨大,出错成本极低的情况。
发明内容
本发明的主要目的在于提出一种线程检测方法、装置、设备及计算机可读存储介质,可以在编译前对线程进行检测,及时向开发者进行错误提醒,避免产生线程错误的问题。
为实现上述目的,本发明提供了一种线程检测方法,所述方法包括:
子工程获取检测规则;
所述子工程根据所述检测规则查找到响应式扩展编程库RxJava中的待检测逻辑方法,并获取所述待检测逻辑方法中的线程参数类型;
在所述待检测逻辑方法中的线程参数类型与所述检测规则中的标准线程参数类型不一致的情况下,所述子工程发送用于指出线程异常的警告信息。
可选的,所述子工程获取检测规则,包括:
所述子工程获取检测二进制归档AAR文件;
所述子工程从所述检测AAR文件中解析出检测JAVA归档文件JAR包;
所述子工程从所述检测JAR包中编译出所述检测规则。
可选的,所述子工程获取检测AAR文件,包括:
所述子工程接收由主工程通过预设接口发送来的所述检测AAR文件。
可选的,当所述待检测逻辑方法为SubscribeOn()方法和/或ObserveOn()方法时,所述子工程根据所述检测规则查找到RxJava中的待检测逻辑方法,并获取所述待检测逻辑方法中的线程参数类型,包括:
所述子工程查找在RxJava中调用的Subscribe()方法;
所述子工程基于查找到的Subscribe()方法,查找在RxJava中调用的SubscribeOn()方法和/或ObserveOn()方法;
所述子工程检测SubscribeOn()方法和/或ObserveOn()方法中的线程参数类型。
可选的,当所述待检测逻辑方法为SubscribeOn()方法和/或ObserveOn()方法时,所述在所述待检测逻辑方法中的线程参数类型与所述检测规则中的标准线程参数类型不一致的情况下,所述子工程发送用于指出线程异常的警告信息,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京五八信息技术有限公司,未经北京五八信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810361925.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动化测试弹框处理方法及终端
- 下一篇:一种区块链测评系统