[发明专利]应用程序加载方法及装置在审
申请号: | 201711160611.2 | 申请日: | 2017-11-20 |
公开(公告)号: | CN108008985A | 公开(公告)日: | 2018-05-08 |
发明(设计)人: | 张炅轩 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 加载 方法 装置 | ||
本发明公开了一种应用程序加载方法及装置,涉及计算机技术领域,主要目的在于能够保证找到加载应用程序时需使用的私有变量,避免应用程序出现崩溃,从而能够保证成功加载应用程序,所述方法包括:当应用程序的更新进程启动时,确定操作系统更新所述应用程序需使用的指定私有变量对应的指定基类;将自定义的ClassLoader对象继承ClassLoader基类修改为继承所述指定基类;通过继承所述指定基类的自定义的ClassLoader对象,加载所述应用程序。本发明适用于应用程序的加载。
技术领域
本发明涉及计算机技术领域,特别是涉及一种应用程序加载方法及装置。
背景技术
随着信息技术的不断发展,安卓操作系统在移动终端领域得到了广泛的应用,在安卓操作系统中,为了对每个应用程序提供了独立的虚拟机支持其运行,同时提供了大量的对象供虚拟机使用。其中,ClassLoader对象也为其中最重要的一个对象,主要用于在应用程序启动或运行时完成dex文件以及资源等文件的加载。由于安卓操作系统采用了较高的安全机制,ClassLoader对象对应用程序的限制也比较明显。为了克服ClassLoader对象对应用程序的限制,通常自定义ClassLoader对象,即通过自定义的ClassLoader对象实现对应用程序的类或者资源的特定加载方式,例如,在加载插件的activity组件时,重定向应用程序的context为插件的context,以实现对插件的完整加载。
目前,主要通过继承ClassLoader基类的自定义的ClassLoader对象加载应用程序。然而,安卓操作系统在更新正在运行的应用程序时,通常会使用ClassLoader基类中不存在的私有变量,因此,通过上述方式加载应用程序,会造成无法找到其需使用的私有变量,导致加载的应用程序出现崩溃现象。
发明内容
有鉴于此,本发明提供一种应用程序加载方法及装置,主要目的在于能够保证找到加载应用程序时需使用的私有变量,避免应用程序出现崩溃,从而能够保证成功加载应用程序。
依据本发明第一方面,提供了一种应用程序加载方法,包括:
当应用程序的更新进程启动时,确定操作系统更新所述应用程序需使用的指定私有变量对应的指定基类;
将自定义的ClassLoader对象继承ClassLoader基类修改为继承所述指定基类;
通过继承所述指定基类的自定义的ClassLoader对象,加载所述应用程序。
依据本发明第二方面,提供了一种应用程序加载装置,包括:
确定单元,用于当应用程序的更新进程启动时,确定操作系统更新所述应用程序需使用的指定私有变量对应的指定基类;
修改单元,用于将自定义的ClassLoader对象继承ClassLoader基类修改为继承所述指定基类;
加载单元,用于通过继承所述指定基类的自定义的ClassLoader对象,加载所述应用程序。
依据本发明第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
当应用程序的更新进程启动时,确定操作系统更新所述应用程序需使用的指定私有变量对应的指定基类;
将自定义的ClassLoader对象继承ClassLoader基类修改为继承所述指定基类;
通过继承所述指定基类的自定义的ClassLoader对象,加载所述应用程序。
依据本发明第四方面,提供了另一种应用程序加载装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711160611.2/2.html,转载请声明来源钻瓜专利网。