CN107562499A - 应用加载的方法、装置和计算机可读存储介质 - Google Patents
应用加载的方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN107562499A CN107562499A CN201710729656.0A CN201710729656A CN107562499A CN 107562499 A CN107562499 A CN 107562499A CN 201710729656 A CN201710729656 A CN 201710729656A CN 107562499 A CN107562499 A CN 107562499A
- Authority
- CN
- China
- Prior art keywords
- application
- storehouse
- type
- current system
- loading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用加载的方法、装置和计算机可读存储介质,属于通信技术领域。所述方法包括:在接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,确定与所述库的类型匹配的所述应用的库文件,最后调用所述应用的库文件,加载所述应用。省去了现有加载流程中通过对安装包进行解压获取适用于当前系统的库的类型的步骤,缩短了加载时间,提升了移动终端的开机速度。
Description
技术领域
本发明涉及通信领域,特别涉及一种应用加载方法、装置和计算机可读存储介质。
背景技术
随着电子技术和通信技术的发展,终端设备的使用越来越广泛。终端设备上可以安装应用程序(Application)来扩展和丰富终端设备的功能。目前,在运行安卓(Android)操作系统的终端设备中,应用程序的安装文件为安卓安装包(Android Package;简称:APK)文件。
Android系统特性是终端设备在每次开机时均通过加载应用库的方式来重新加载第三方应用程序。由于在加载时需要对每个APK进行解压以确定其第三方应用采用的库的类型(如abi位数),继而调用相应的库文件实现应用加载,导致加载速度慢,耗时长。而且预装的APK数量越多,移动终端开机速度越慢。因此,如何加快第三方应用程序的加载速度是提升移动终端开机速度的关键。
发明内容
为了解决终端设备开机速度慢的问题,本发明提供了一种应用加载的方法及装置。所述技术方案如下:
第一方面,本申请提供了一种应用加载的方法,所述方法包括:
当接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,其中所述映射表存储有所述应用的包名及适用于当前系统的库的类型;
确定与所述库的类型匹配的所述应用的库文件;
调用所述应用的库文件,加载所述应用。
在一种可能的实施方式中,所述方法还包括:
若检测到所述应用为首次安装或在所述映射表中未查询到所述应用的包名时,解压所述应用的安装包,并将解压后的库文件存储至预设位置;
解析所述解压后的库文件,确定所述适用于当前系统的库的类型,并将所述适用于当前系统的库的类型写入存储文件,所述存储文件中包含所述应用的包名及适用于当前系统的库的类型。
在一种可能的实施方式中,所述方法还包括:
在进行应用加载之前,读取所述存储文件中的应用包名及适用于当前系统的库的类型,建立所述映射表。
在一种可能的实施方式中,所述库的类型为应用程序二进制接口ABI的位数,包括64位或32位。
第二方面,本申请提供了一种应用加载的装置,其特征在于,所述装置包括:
查询模块,用于当接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,其中所述映射表存储有所述应用的包名及适用于当前系统的库的类型;
确定模块,用于确定与所述库的类型匹配的所述应用的库文件;
加载模块,用于调用所述应用的库文件,加载所述应用。
在一种可能的实施方式中,所述装置还包括:
解压模块,用于若检测到所述应用为首次安装或在所述映射表中未查询到所述应用的包名时,解压所述应用的安装包,并将解压后的库文件存储至预设位置;
存储模块,用于解析所述解压后的库文件,确定所述当前系统支持的类型,并将所述适用于当前系统的库的类型写入存储文件,所述存储文件中包含所述应用的包名及适用于当前系统的库的类型。
在一种可能的实施方式中,所述装置还包括:
映射表建立模块,用于在进行应用加载之前,读取所述存储文件中的应用包名及对应的库的类型,建立所述映射表。
在一种可能的实施方式中,所述库的类型为应用程序二进制接口ABI的位数,包括64位或32位。
第三方面,本申请提供了一种应用加载的装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面所述的任一项方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。
本发明提供的技术方案的有益效果是:
通过在接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,确定与所述库的类型匹配的所述应用的库文件,最后调用所述应用的库文件,加载所述应用。省去了现有加载流程中通过对安装包进行解压获取适用于当前系统的库的类型的步骤,缩短了加载时间,提升了移动终端的开机速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种应用加载的方法流程图;
图2是本发明提供的另一种应用加载的方法流程图;
图3是本发明提供的一种应用加载的装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例涉及的终端设备是指具有安卓操作系统的终端设备,包括手机、智能电视、平板电脑、UMPC(Ultra-mobile Personal Computer,超级移动个人计算机)、上网本、PDA(Personal Digital Assistant,个人数字助理,)等。
图1是本发明实施例提供的应用加载方法的流程示意图。该方法的执行主体为具有安卓系统的终端设备,如图1所示,该方法包括如下步骤:
步骤101,当接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型。
具体的,映射表中存储有应用的包名及对应的适用于当前系统的库的类型,当接收到应用加载指令时,读取该应用的包名,在映射表中查询是否存在该应用的包名,若存在,根据该应用的包名获取与其对应的适用于当前系统的库的类型。
对于应用APK而言,其解压后的库文件包含多种类型,如64位或32位,以适用于运行的CPU环境。原因在于,从Android 4.4宣布支持64位系统以来,各终端方案厂商逐步推出了各自的64位soc解决方案。Google为了兼容之前32位系统的应用,在64位系统上也实现了对32位应用的支持。对于终端设备安装的应用其有可能运行在32位环境也有可能运行在64位环境。因此,应用需根据当前系统支持的位数确定适用于当前系统的库类型,以便调用适用于CPU运行环境的库文件实现成功加载。本步骤通过查询映射表获取适用于当前系统的库的类型,相比现有技术通过解压APK并解析解压后的库文件获取适用于当前系统的库的类型而言,大大节省了时间。
在一种可能的实施方式中,该库的类型为应用程序二进制接口ABI的位数,包括64位或32位。应用程序二进制接口ABI(Application Binary Interface)定义了二进制文件如何运行在相应的系统平台上,从使用的指令集,内存对其到可用的系统函数库。假设移动终端操作系统采用运行在64位模式的CPU,对应的在该操作系统上运行的应用程序所采用的二进制接口ABI的类型为64位,从而使得该应用程序能过调用64位的库文件进行加载,以便在该CPU环境下的成功运行。
在一种可能的实施方式中,该映射表为在执行应用加载指令之前通过读取存储文件中的应用包名及对应的适用于当前系统的库的类型建立的。该存储文件为应用安装包在首次安装时建立的,具体的解析该应用安装包解压后的库文件,确定适用于当前系统的库的类型,并将其写入存储文件中,所述存储文件中包含所述应用的包名及对应的适用于当前系统的库的类型。
示例性的,应用安装包在首次安装时建立的存储文件可以为xml文件,假设该存储文件的名称为packageabi.xml,对应的其格式如下:
<package name="com.testapk3.main"
abi="arm64-v8a">
</package>
其中package表示为一条应用记录,name表示该应用的名称(一般为包名),ABI的内容代表该应用在安装时检测到的系统支持的位数类型, “arm64-v8a”就代表该应用使用的是64位库。
相应的在终端设备开机执行应用加载之前,读取存储文件的内容建立映射表,该映射表map的格式可以为但不限于下述形式:
{” com.testapk3.main”,” arm64-v8a”}
……..
即该map表为{“应用包名“,“ABI位数”}的格式。
步骤102,确定与所述库的类型匹配的该应用的库文件。
具体的,应用APK在收次安装时,会将相应的库文件解压至预设位置。之后终端设备在开机进行应用的加载时,在确定适用于系统的库的类型之后,会到该预设位置获取对应的库文件。示例性的,预设位置中存储于该应用加载所需的64位库文件和32位库文件,假设确定适用于系统的库的类型为64位,则终端设备根据该库的类型,从该预设位置获取64位的库文件。
步骤103,调用该应用的库文件,加载该应用。
本发明实施例提供的应用加载的方法,通过在接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,在预设位置确定与所述库的类型匹配的所述应用的库文件,最后调用所述应用的库文件,加载所述应用。省去了现有加载流程中通过对安装包进行解压获取适用于当前系统的库的类型的步骤,缩短了加载时间,提升了移动终端的开机速度。
图2是本发明实施例提供的另一种应用加载的方法流程图。该方法的执行主体为具有安卓系统的终端设备,如图2所示,该方法包括如下步骤:
步骤201,判断待加载应用是否是首次安装。
若是,执行步骤202至步骤204;若否,执行步骤206至步骤209。
步骤202,解压该应用的APK,将解压后的库文件存储至预设位置。
在一种可能的实施方式中,该库文件为静态数据链接库,即lib库,其为存放应用对应的各种链接代码的数据库。
步骤203,解析解压后的库文件,确定适用于当前系统的库的类型。
步骤204,将该应用的包名及对应的适用于当前系统的库的类型存至存储文件。
步骤205,加载存储文件,建立映射表。
具体的,加载存储文件,并读取其中的应用包名和适用于当前系统的库的类型,根据所读取的内容建立映射表。
步骤206,当接收到应用加载指令时,查询映射表判断是否存在待加载应用包名。
若存在,执行步骤207至步骤209,若不存在,执行步骤202至步骤204。
步骤207,根据待加载应用包名,获取适用于当前系统的库的类型。
步骤208,确定与所述库的类型匹配的所述应用的库文件。
步骤209,调用该应用的库文件,加载该应用。
本发明实施例提供的应用加载的方法,在第三方应用APK首次安装时将库文件解压至预设位置,并获取应用包名及对应的适用于当前系统的库的类型并存储至存储文件,以便于应用在后续终端设备开机加载应用时根据存储文件建立映射表,并在接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,根据该库的类型,在预设位置获取应用对应的库文件以加载该应用。相比现有技术,使得对于终端设备非首次安装应用的应用加载过程,省去了现有加载流程中对安装包进行解压获取当前系统所支持的库的类型,缩短了加载时间,提升了移动终端的开机速度。
图3是本发明实施例提供的一种应用加载的装置,该装置内置于具有安卓系统的终端设备内,如图3所示,包括:
查询模块301,用于当接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,其中所述映射表存储有所述应用的包名及对应的适用于当前系统的库的类型;
确定模块302,用于确定与适用于当前系统的库的类型相匹配的该应用的库文件;
加载模块303,用于调用与适用于当前系统的库的类型相匹配的该应用的库文件,实现该应用的加载。
在一种可能的实施方式中,所述装置还包括:
映射表建立模块,用于在进行应用加载之前,读取存储文件中的应用包名及适用于当前系统的库的类型,建立映射表。
在一种可能的实施方式中,所述装置还包括:
解压模块,用于若检测到该应用为首次安装或在映射表中未查询到该应用的包名时,解压该应用的安装包,并将解压后的库文件存储至预设位置;
存储模块,用于解析解压后的库文件,确定适用于当前系统的库的类型,并将所述库的类型写入存储文件,所述存储文件中包含该应用的包名及对应的适用于当前系统的库的类型。
在本发明实施例中,通过在接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,并根据该库的类型,确定与适用于当前系统的库的类型相匹配的该应用的库文件,最后调用该库文件,实现该应用的加载。省去了现有加载流程中对安装包进行解压获取当前系统所支持的库的类型,缩短了加载时间,提升了移动终端的开机速度。
需要说明的是:上述实施例提供的一种应用加载的装置在进行应用加载时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种电视节目排序方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端设备的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由数字电视设备的处理器执行时,使得数字电视设备能够执行上述图2和图3所述的电视节目排序方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用加载的方法,其特征在于,所述方法包括:
当接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,其中所述映射表中存储有所述应用的包名及对应的适用于当前系统的库的类型;
确定与所述库的类型匹配的所述应用的库文件;
调用所述应用的库文件,加载所述应用。
2.根据权利要求1所述方法,其特征在于,所述方法还包括:
若检测到所述应用为首次安装或在所述映射表中未查询到所述应用的包名时,解压所述应用的安装包,并将解压后的库文件存储至预设位置;
解析所述解压后的库文件,确定所述适用于当前系统的库的类型,并将所述适用于当前系统的库的类型写入存储文件,所述存储文件中包含所述应用的包名及适用于当前系统的库的类型。
3.根据权利要求2所述方法,其特征在于,所述方法还包括:
在进行应用加载之前,读取所述存储文件中的应用包名及对应的适用于当前系统的库的类型,建立所述映射表。
4.根据权利要求1至3任一所述方法,其特征在于,所述库的类型为应用程序二进制接口ABI的位数,包括64位或32位。
5.一种应用加载的装置,其特征在于,所述装置包括:
查询模块,用于当接收到应用加载指令时,查询映射表获取适用于当前系统的库的类型,其中所述映射表存储有所述应用的包名及对应的适用于当前系统的库的类型;
确定模块,用于确定与所述库的类型匹配的所述应用的库文件;
加载模块,用于调用所述应用的库文件,加载所述应用。
6.根据权利要求5所述装置,其特征在于,所述装置还包括:
解压模块,用于若检测到所述应用为首次安装或在所述映射表中未查询到所述应用的包名时,解压所述应用的安装包,并将解压后的库文件存储至预设位置;
存储模块,用于解析所述解压后的库文件,确定所述当前系统支持的类型,并将所述适用于当前系统的库的类型写入存储文件,所述存储文件中包含所述应用的包名及对应的适用于当前系统的库的类型。
7.根据权利要求6所述装置,其特征在于,所述装置还包括:
映射表建立模块,用于在进行应用加载之前,读取所述存储文件中的应用包名及适用于当前系统的库的类型,建立所述映射表。
8.根据权利要求5至7任一所述装置,其特征在于,所述库的类型为应用程序二进制接口ABI的位数,包括64位或32位。
9.一种应用加载的装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-4所述的任一项方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-4所述的任一项方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710729656.0A CN107562499A (zh) | 2017-08-23 | 2017-08-23 | 应用加载的方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710729656.0A CN107562499A (zh) | 2017-08-23 | 2017-08-23 | 应用加载的方法、装置和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107562499A true CN107562499A (zh) | 2018-01-09 |
Family
ID=60976419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710729656.0A Pending CN107562499A (zh) | 2017-08-23 | 2017-08-23 | 应用加载的方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562499A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618967A (zh) * | 2019-06-13 | 2019-12-27 | 北京无限光场科技有限公司 | 应用程序运行方法、安装包生成方法、装置、设备及介质 |
CN111290999A (zh) * | 2020-01-10 | 2020-06-16 | 高新兴物联科技有限公司 | 一种库文件自适应匹配方法、设备和计算机可读存储介质 |
CN112732365A (zh) * | 2021-01-28 | 2021-04-30 | 北京字跳网络技术有限公司 | 预装应用程序启动方法、装置、电子设备及存储介质 |
CN113760338A (zh) * | 2020-06-05 | 2021-12-07 | 北京字跳网络技术有限公司 | 切换应用程序二进制接口abi的方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102562A (zh) * | 2007-06-25 | 2008-01-09 | 嘉兴闻泰通讯科技有限公司 | 一种phs手机实现nor flash兼容的方法 |
US9390275B1 (en) * | 2015-01-27 | 2016-07-12 | Centurion Holdings I, Llc | System and method for controlling hard drive data change |
CN106528255A (zh) * | 2016-12-19 | 2017-03-22 | 北京小米移动软件有限公司 | 类加载方法及装置 |
CN106708507A (zh) * | 2016-11-15 | 2017-05-24 | 四川长虹电器股份有限公司 | 一种基于Android系统优化开机应用安装时间的方法 |
-
2017
- 2017-08-23 CN CN201710729656.0A patent/CN107562499A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102562A (zh) * | 2007-06-25 | 2008-01-09 | 嘉兴闻泰通讯科技有限公司 | 一种phs手机实现nor flash兼容的方法 |
US9390275B1 (en) * | 2015-01-27 | 2016-07-12 | Centurion Holdings I, Llc | System and method for controlling hard drive data change |
CN106708507A (zh) * | 2016-11-15 | 2017-05-24 | 四川长虹电器股份有限公司 | 一种基于Android系统优化开机应用安装时间的方法 |
CN106528255A (zh) * | 2016-12-19 | 2017-03-22 | 北京小米移动软件有限公司 | 类加载方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618967A (zh) * | 2019-06-13 | 2019-12-27 | 北京无限光场科技有限公司 | 应用程序运行方法、安装包生成方法、装置、设备及介质 |
CN111290999A (zh) * | 2020-01-10 | 2020-06-16 | 高新兴物联科技有限公司 | 一种库文件自适应匹配方法、设备和计算机可读存储介质 |
CN111290999B (zh) * | 2020-01-10 | 2023-06-13 | 高新兴物联科技股份有限公司 | 一种库文件自适应匹配方法、设备和计算机可读存储介质 |
CN113760338A (zh) * | 2020-06-05 | 2021-12-07 | 北京字跳网络技术有限公司 | 切换应用程序二进制接口abi的方法、装置及电子设备 |
CN112732365A (zh) * | 2021-01-28 | 2021-04-30 | 北京字跳网络技术有限公司 | 预装应用程序启动方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6996818B2 (en) | Update system for facilitating software update and data conversion in an electronic device | |
CN112817657B (zh) | 一种应用程序启动项加载方法、装置、系统及存储介质 | |
CN107562499A (zh) | 应用加载的方法、装置和计算机可读存储介质 | |
CN102323887A (zh) | 基于浏览器引擎的动态加载Widget的方法及移动终端 | |
CN101702130A (zh) | 一种移动终端加载共享函数库的方法和装置 | |
CN107066295B (zh) | 一种基于浏览器加载终端网络应用的插件的方法及设备 | |
CN104731622A (zh) | 一种应用程序的加载方法、装置和移动终端 | |
CN110333876A (zh) | 一种数据清除方法及控制设备 | |
CN104025046A (zh) | 利用调回的isa桥接 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN110457345B (zh) | 数据库读取方法、装置及计算机可读存储介质 | |
CN114020278B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111796865B (zh) | 一种字节码文件修改方法、装置、终端设备及介质 | |
CN104516752A (zh) | 一种信息处理方法及电子设备 | |
CN111142972A (zh) | 用于扩展应用程序的功能的方法、装置、系统及介质 | |
CN111382076A (zh) | 应用程序的测试方法、装置、电子设备及计算机存储介质 | |
CN110390064A (zh) | 文件更新方法、装置和系统,存储介质及电子装置 | |
CN116048735B (zh) | 信息处理方法以及对象共享方法 | |
CN112732336B (zh) | 用于JAVA平台的Egl型变量子结构的存取方法 | |
CN113312073B (zh) | 一种安装包文件处理方法和相关装置 | |
WO2024109090A1 (zh) | 可编程逻辑控制器的混合执行方法、装置、设备及介质 | |
CN114490544B (zh) | 一种新加入主机下载容器镜像的方法及装置 | |
KR20100018827A (ko) | 모바일 플랫폼 모듈의 동적 로딩 지원 방법 및 시스템 | |
CN113590187A (zh) | 用于获取代码的方法及装置、电子设备 | |
CN117009097A (zh) | 数据管理方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180109 |