[发明专利]应用程序中的类验证方法和装置在审
申请号: | 202010360965.7 | 申请日: | 2020-04-30 |
公开(公告)号: | CN113590210A | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 李涛;张大鹏;王小建 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 朱颖;臧建明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 中的 验证 方法 装置 | ||
1.一种应用程序中的类验证方法,其特征在于,包括:
在检测到所述应用程序的第一场景开始时,获取所述第一场景的预测加载类;
获取用于类验证加载的第一线程;所述第一线程不同于所述应用程序的主线程;
在所述第一线程上根据所述预测加载类进行类的验证加载;
在所述主线程上调用所述第一线程的类的验证加载结果。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第一场景的预测加载类,包括:
在预加载列表中获取所述第一场景的预测加载类,所述预加载列表为预先学习得到的。
3.根据权利要求2所述的方法,其特征在于,所述预加载列表包括事件名和类名的对应关系;
所述在检测到所述应用程序的第一场景开始时,获取所述第一场景的预测加载类,包括:
在检测到所述应用程序的第一场景开始时,确定所述第一场景在所述应用程序中产生的事件;
在所述预加载列表中获取所述事件对应的预验证加载类。
4.根据权利要求3所述的方法,其特征在于,所述预加载列表中还包括类名和类加载器名的对应关系;
所述在所述第一线程上根据所述预测加载类进行类的验证加载,包括:
依据所述类名和类加载器名的对应关系,在所述第一线程上利用所述预测加载类对应的类加载器进行类的验证加载。
5.根据权利要求2-4任一项所述的方法,其特征在于,还包括:
针对所述应用程序的任一个事件,在所述主线程对所述任一个事件的类验证加载的时间超出时间阈值的情况下,所述主线程利用运行时runtime记录所述任一个事件的事件名和类名;
在存在第一类名的记录次数超出次数阈值的情况下,将所述第一类名的事件名和所述第一类名设置在所述预加载列表中。
6.根据权利要求5所述的方法,其特征在于,所述时间阈值是基于云端中与所述应用程序的任一个事件的类加载相关的数据学习得到的。
7.根据权利要求5或6所述的方法,其特征在于,还包括:
所述在存在第一类名的记录次数超出次数阈值的情况下,将所述第一类名的类加载器名设置在所述预加载列表中。
8.根据权利要求1-7任一项所述的方法,其特征在于,还包括:
利用所述第一线程获取所述预测加载类中各个类的验证加载时间;
在所述预测加载类中,选择总验证加载时间不超过所述时间阈值的一个或多个类作为所述第一线程验证加载的类。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述主线程还用于加载其他类,所述其他类为所述第一场景中需要加载的且不同于所述预测加载类的类。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在所述主线程完成对所述其他类的验证加载,且所述第一线程未完成对所述预测加载类的验证加载的情况下,利用所述主线程对所述第一线程未完成验证加载的一个或多个类进行验证加载。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在所述主线程未完成对所述其他类的验证加载,且所述第一线程完成对所述预测加载类的验证加载的情况下,利用所述第一线程对所述主线程未完成验证加载的一个或多个类进行验证加载。
12.根据权利要求3所述的方法,其特征在于,所述确定所述操作在所述应用程序中产生的事件,包括:
利用操作系统中的应用生命周期管理器确定所述第一场景在所述应用程序的进程中产生的事件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010360965.7/1.html,转载请声明来源钻瓜专利网。