CN118233492A - 应用下载方法、服务器、电子设备及*** - Google Patents
应用下载方法、服务器、电子设备及*** Download PDFInfo
- Publication number
- CN118233492A CN118233492A CN202211647230.8A CN202211647230A CN118233492A CN 118233492 A CN118233492 A CN 118233492A CN 202211647230 A CN202211647230 A CN 202211647230A CN 118233492 A CN118233492 A CN 118233492A
- Authority
- CN
- China
- Prior art keywords
- application
- package
- server
- home page
- electronic equipment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 139
- 230000008569 process Effects 0.000 claims description 42
- 238000009434 installation Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 24
- 230000009191 jumping Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 39
- 230000006870 function Effects 0.000 description 38
- 230000000694 effects Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000004044 response Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000011900 installation process Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供应用下载方法、服务器、电子设备及***。本申请服务器根据请求下载应用的电子设备的信息,拆分待下载应用的应用包,保留应用包中与该电子设备对应的资源,从而避免下载不必要的资源,降低应用包的体积,从而提升应用包下载速度,减少应用安装耗时。该方法包括:服务器接收电子设备发送的第一应用下载请求,该第一应用下载请求中携带有电子设备的设备信息以及请求下载的第一应用的信息。之后服务器根据第一应用的信息,确定第一应用对应的第一应用包。并根据设备信息,对第一应用包进行拆包处理,将第一应用包中的入口包拆分为基础包和其余资源包,该基础包包括电子设备运行第一应用的资源的集合。之后服务器向电子设备发送基础包。
Description
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种应用下载方法、服务器、电子设备及***。
背景技术
随着终端技术的发展,应用可实现的功能越来越丰富,应用包的大小也随之增加,那么应用包的下载耗时也随之增加。
目前,一些电子设备可为用户提供免安装应用服务,电子设备响应于用户操作,首次拉起免安装应用时,用户不感知应用的安装过程。这就要求免安装应用的应用包的体积较小,才能够为用户带来更好的免安装应用使用体验。
但是,目前受限于较大的应用包体积,导致免安装应用的应用包安装过程耗时增加,影响用户的使用体验。
发明内容
为了解决上述的技术问题,本申请提供了一种应用下载方法、服务器、电子设备及***。本申请提供的技术方案,服务器根据请求下载应用的电子设备的信息,拆分待下载应用的应用包,保留应用包中与该电子设备对应的资源,从而避免下载不必要的资源,降低应用包的体积,从而提升应用包下载速度,减少应用安装耗时。
为了实现上述的技术目的,本申请提供了如下技术方案:
第一方面,提供一种应用下载方法,应用于服务器。该方法包括:接收电子设备发送的第一应用下载请求,第一应用下载请求中携带有电子设备的设备信息以及请求下载的第一应用的信息。根据第一应用的信息,确定第一应用对应的第一应用包。根据设备信息,对第一应用包进行拆包处理,将第一应用包中的入口包拆分为基础包和其余资源包,基础包包括电子设备运行第一应用的资源的集合。向电子设备发送基础包。
如此,通过服务器对应用包的拆分,保留电子设备运行应用所需的运行资源供电子设备下载,降低应用包的体积,且避免冗余资源的下载,从而提升应用下载速度。并且,能够避免由于下载冗余资源,导致的下载流量的浪费。
应理解,运行资源的保留,保证了应用下载后,电子设备可正常运行应用,从而在有效提升电子设备首次拉起应用的速度降低用户等待时长的同时,满足用户的应用使用需求。
此外,应用包体积的降低,也减少了应用包对于电子设备的存储空间的占用,以提升电子设备的性能。
根据第一方面,该方法还包括:对基础包进行拆包处理,将基础包拆分为首页包和非首页包,首页包包括打开第一应用的首页的资源的集合,非首页包包括打开第一应用的功能页面的资源的集合。
示例性的,服务器在根据应用下载请求,获取到应用A安装包后,对应用A安装包进行解析,确定其中包括的Entry包。之后,服务器可根据应用下载请求中携带的设备信息,对Entry包进行拆分,将Entry包拆分为不同的资源包。之后,服务器可确定对应于设备信息的运行资源,并将运行资源打包为基础包,即最终将Entry包拆分为基础包和其余资源包。
例如,服务器确定Entry包中的分辨率资源包括1024x1024分辨率资源、256x256分辨率资源等。服务器根据电子设备的设备信息,确定电子设备的分辨率为1024x1024。那么,服务器可在拆分Entry包的过程中,将Entry包中包括的1024x1024分辨率资源拆分为运行资源,后续打包到基础包中。这样后续电子设备下载基础包进行应用的安装,不再需要下载不必要的分辨率资源。
根据第一方面,或者以上第一方面的任意一种实现方式,向电子设备发送基础包,包括:向电子设备发送首页包,首页包用于电子设备启动第一应用并显示第一应用的首页。
示例性的,服务器根据资源索引文件,对资源文件进行拆分,将其中包括的主要基础资源拆分至首页包中,这些主要基础资源为打开应用的首页的资源的集合。并且,服务器可将基础包中的代码文件保留至首页包中。之后,服务器可将基础包的资源文件中剩余的其他基础资源拆分至非首页包中,这些其他基础资源为打开应用的功能页面的资源的集合。
如此,服务器通过对基础包的拆分,保留电子设备打开应用的首页的资源的集合,在保证应用启动并显示首页的同时,进一步提升应用启动效率。
根据第一方面,或者以上第一方面的任意一种实现方式,在向电子设备发送首页包之后,方法还包括:接收电子设备发送的第二应用下载请求,第二应用下载请求为电子设备在安装首页包的过程中或者完成后发送的请求。响应于第二应用下载请求,向电子设备发送非首页包,非首页包用于电子设备显示第一应用的功能页面。
一些示例中,第二应用下载请求例如为电子设备在确定完成第一应用的首页包的下载后,发送的下载请求;或者,第二应用下载请求例如为电子设备响应于用户操作发送的下载请求,该用户操作例如用于指示显示第一应用的其他功能页面。
如此,不必等待在首页包下载并安装完成后才能够下载非首页包,而是通过并行首页包的安装过程,以及非首页包的下载过程,减少首页包和非首页包下载和安装的整体时间,从而在提升应用拉起时间的同时,进一步降低后续应用运行的等待时间。
根据第一方面,或者以上第一方面的任意一种实现方式,设备信息包括如下一项或几项:设备类型、语言类型、处理器型号、分辨率。
第二方面,提供一种应用下载方法,应用于电子设备。该方法包括:响应于用户的第一操作,向服务器发送第一应用下载请求,第一应用下载请求中携带有电子设备的设备信息以及第一操作指示下载的第一应用的信息。接收服务器第一应用下载请求发送的基础包,基础包包括第一应用的入口包中用于供电子设备运行第一应用的资源的集合。根据基础包,显示第一应用。
根据第二方面,接收服务器第一应用下载请求发送的基础包,包括:接收服务器发送的首页包,首页包包括基础包中用于打开第一应用的首页的资源的集合。
根据第二方面,或者以上第二方面的任意一种实现方式,在接收服务器发送的首页包之后,方法还包括:安装首页包。在安装首页包的过程中或者完成后,向服务器发送第二应用下载请求。接收服务器发送的非首页包,非首页包包括基础包中用于打开第一应用的功能页面的资源的集合。
根据第二方面,或者以上第二方面的任意一种实现方式,根据基础包,显示第一应用,包括:根据首页包,显示第一应用的首页。
根据第二方面,或者以上第二方面的任意一种实现方式,方法还包括:在显示第一应用的首页的过程中,检测到用户的第二操作,根据非首页包,跳转至第二操作指示显示的第一应用的功能页面。
根据第二方面,或者以上第二方面的任意一种实现方式,在向服务器发送第二应用下载请求之前,方法还包括:在显示第一应用的首页的过程中,检测到用户的第三操作,第三操作用于指示跳转至第一应用的功能页面。
第二方面以及第二方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,提供一种服务器。该服务器包括:处理器和存储器,存储器和处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器从存储器中读取计算机指令,使得服务器执行:接收电子设备发送的第一应用下载请求,第一应用下载请求中携带有电子设备的设备信息以及请求下载的第一应用的信息。根据第一应用的信息,确定第一应用对应的第一应用包。根据设备信息,对第一应用包进行拆包处理,将第一应用包中的入口包拆分为基础包和其余资源包,基础包包括电子设备运行第一应用的资源的集合。向电子设备发送基础包。
根据第三方面,当处理器从存储器中读取计算机指令,还使得服务器执行:对基础包进行拆包处理,将基础包拆分为首页包和非首页包,首页包包括打开第一应用的首页的资源的集合,非首页包包括打开第一应用的功能页面的资源的集合。
根据第三方面,或者以上第三方面的任意一种实现方式,向电子设备发送基础包,包括:向电子设备发送首页包,首页包用于电子设备启动第一应用并显示第一应用的首页。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机指令,还使得服务器执行:接收电子设备发送的第二应用下载请求,第二应用下载请求为电子设备在安装首页包的过程中或者完成后发送的请求。响应于第二应用下载请求,向电子设备发送非首页包,非首页包用于电子设备显示第一应用的功能页面。
根据第三方面,或者以上第三方面的任意一种实现方式,设备信息包括如下一项或几项:设备类型、语言类型、处理器型号、分辨率。
第三方面以及第三方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,提供一种电子设备。该电子设备包括:处理器、显示屏以及存储器,存储器、显示屏和处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器从存储器中读取计算机指令,使得电子设备执行:响应于用户的第一操作,向服务器发送第一应用下载请求,第一应用下载请求中携带有电子设备的设备信息以及第一操作指示下载的第一应用的信息。接收服务器基于第一应用下载请求发送的基础包,基础包包括第一应用的入口包中用于供电子设备运行第一应用的资源的集合。根据基础包,显示第一应用。
根据第四方面,接收服务器基于第一应用下载请求发送的基础包,包括:接收服务器发送的首页包,首页包包括基础包中用于打开第一应用的首页的资源的集合。
根据第四方面,或者以上第四方面的任意一种实现方式,当处理器从存储器中读取计算机指令,使得电子设备执行:安装首页包。在安装首页包的过程中或者完成后,向服务器发送第二应用下载请求。接收服务器发送的非首页包,非首页包包括基础包中用于打开第一应用的功能页面的资源的集合。
根据第四方面,或者以上第四方面的任意一种实现方式,根据基础包,显示第一应用,包括:根据首页包,显示第一应用的首页。
根据第四方面,或者以上第四方面的任意一种实现方式,当处理器从存储器中读取计算机指令,使得电子设备执行:在显示第一应用的首页的过程中,检测到用户的第二操作,根据非首页包,跳转至第二操作指示显示的第一应用的功能页面。
根据第四方面,或者以上第四方面的任意一种实现方式,当处理器从存储器中读取计算机指令,使得电子设备执行:在显示第一应用的首页的过程中,检测到用户的第三操作,第三操作用于指示跳转至第一应用的功能页面。
第四方面以及第四方面中任意一种实现方式所对应的技术效果,可参见上述第二方面及第二方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第五方面,本申请提供一种应用下载***,该***包括:电子设备和服务器。其中,电子设备,用于:响应于用户的第一操作,向服务器发送第一应用下载请求,第一应用下载请求中携带有电子设备的设备信息以及第一操作指示下载的第一应用的信息。服务器,用于:接收电子设备发送的第一应用下载请求,第一应用下载请求中携带有电子设备的设备信息以及请求下载的第一应用的信息。根据第一应用的信息,确定第一应用对应的第一应用包。根据设备信息,对第一应用包进行拆包处理,将第一应用包中的入口包拆分为基础包和其余资源包,基础包包括电子设备运行第一应用的资源的集合。向电子设备发送基础包。电子设备,还用于:接收服务器基于第一应用下载请求发送的基础包,基础包包括第一应用的入口包中用于供电子设备运行第一应用的资源的集合。根据基础包,显示第一应用。
根据第五方面,服务器,还用于:对基础包进行拆包处理,将基础包拆分为首页包和非首页包,首页包包括打开第一应用的首页的资源的集合,非首页包包括打开第一应用的功能页面的资源的集合。
根据第五方面,或者以上第五方面的任意一种实现方式,服务器,还用于:向电子设备发送首页包,首页包用于电子设备启动第一应用并显示第一应用的首页。电子设备,还用于:接收首页包。
根据第五方面,或者以上第五方面的任意一种实现方式,服务器,还用于:接收电子设备发送的第二应用下载请求,第二应用下载请求为电子设备在安装首页包的过程中或者完成后发送的请求。响应于第二应用下载请求,向电子设备发送非首页包,非首页包用于电子设备显示第一应用的功能页面。
第五方面以及第五方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第六方面,本申请提供一种服务器,该电子服务器具有实现如上述第一方面及其中任一种可能的实现方式中所述的应用下载方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应地软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第六方面以及第六方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第七方面,本申请提供一种电子设备,该电子设备具有实现如上述第一方面及其中任一种可能的实现方式中所述的应用下载方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应地软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第七方面以及第七方面中任意一种实现方式所对应的技术效果,可参见上述第二方面及第二方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第八方面,提供一种计算机可读存储介质。计算机可读存储介质存储有计算机程序(也可称为指令或代码),当该计算机程序被服务器执行时,使得服务器执行第一方面或第一方面中任意一种实施方式的方法。
第八方面以及第八方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第九方面,提供一种计算机可读存储介质。计算机可读存储介质存储有计算机程序(也可称为指令或代码),当该计算机程序被电子设备执行时,使得电子设备执行第一方面或第一方面中任意一种实施方式的方法。
第九方面以及第九方面中任意一种实现方式所对应的技术效果,可参见上述第二方面及第二方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第十方面,本申请提供一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行第一方面或第一方面中任意一种实施方式的方法。
第十方面以及第十方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第十一方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行第二方面或第二方面中任意一种实施方式的方法。
第十一方面以及第十一方面中任意一种实现方式所对应的技术效果,可参见上述第二方面及第二方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第十二方面,本申请提供一种电路***,电路***包括处理电路,处理电路被配置为执行第一方面或第一方面中任意一种实施方式的方法;或者,处理电路被配置为执行第二方面或第二方面中任意一种实施方式的方法。
第十二方面以及第十二方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第十三方面,本申请提供一种芯片***,包括至少一个处理器和至少一个接口电路,至少一个接口电路用于执行收发功能,并将指令发送给至少一个处理器,当至少一个处理器执行指令时,至少一个处理器执行第一方面或第一方面中任意一种实施方式的方法;或者,至少一个处理器执行第二方面或第二方面中任意一种实施方式的方法。
第十三方面以及第十三方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的应用包下载场景示意图一;
图2为本申请实施例提供的一种应用下载方法应用的通信***的示意图;
图3为本申请实施例提供的服务器的硬件结构示意图;
图4为本申请实施例提供的电子设备的硬件结构示意图;
图5为本申请实施例提供的界面示意图;
图6为本申请实施例提供的应用包拆包场景示意图一;
图7为本申请实施例提供的应用包拆包场景示意图二;
图8为本申请实施例提供的应用包下载场景示意图二;
图9为本申请实施例提供的应用下载方法的流程示意图;
图10为本申请实施例提供的服务器的结构示意图;
图11为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
在一些场景中,随着应用功能的增多,应用包的体积随之增加,应用包体积的增加直接影响应用的下载速度。其中,应用包例如为普通应用或免安装应用的应用包。其中,普通应用例如包括用户可选择安装、卸载的应用,如运动健康、智慧生活、备忘录等应用。免安装应用例如包括快应用、小程序等,在用户触发将某个还未安装的免安装应用拉起的操作后,电子设备可以在界面上显示页面加载的动画,并相应对该免安装应用进行下载和安装。因此,对于用户,从视觉上可以看到对应的页面在加载、显示;但是,用户一般不会感知该免安装应用会进行下载或者安装。
一些示例中,免安装应用下载并安装完成后,可显示免安装应用的首页。
一些示例中,免安装应用的下载和安装过程耗时较少,从而安装应用的过程不受用户感知,用户在使用的过程中通过点击某个图标、卡片、或者链接可以直接将应用拉起,能够为用户提供更好的使用体验。
应理解,从操作***的角度而言,对于免安装应用,电子设备还是需要下载应用包,以安装应用。而从用户的角度,用户并不感知应用的安装,那么也就不会主动地卸载免安装应用。
但是,目前免安装应用包的体积还是比较大,电子设备首次安装应用包耗时较长,用户等待时间较长,影响用户的使用体验。
比如,如图1所示,应用A安装包中可以包括代码文件、三方库文件、资源文件、以及资源索引文件。其中,代码文件包括支持应用A运行的代码。三方库文件包括支持应用A运行的三方库,如通过配置三方库实现对应的应用A的文字自动翻译功能等。资源文件包括支持应用A功能实现的各种资源,如基础资源、分辨率资源、语言资源等。资源索引文件用于索引资源文件中相应的资源位置。
一些示例中,部分免安装应用(如应用A)可支持多语言服务,那么应用A安装包中的资源文件中,语言资源包括多语言包。但是,用户实际使用过程中,首次使用应用,可能仅需其中有限的语言支持。那么,应用A安装包中包括的多语言包中,存在部分首次使用并不需要的语言包,导致应用A安装包体积较大,造成电子设备在安装应用A的过程中,耗时增加。并且,电子设备下载应用A后,较大的应用A安装包也导致对电子设备存储空间的过多占用。
又比如,部分电子设备的操作***支持分布式服务,那么在应用开发过程中,开发者也会设计应用支持分布式服务,即应用可自动适配于多种类型的电子设备的使用。那么,应用包的体积也会随之增大,影响免安装应用的快速安装、拉起的实现。
由此,本申请实施例提供一种应用下载方法,服务器根据请求下载应用的电子设备的信息,拆分待下载应用的应用包,保留应用包中与该电子设备对应的资源,从而避免下载不必要的资源,降低应用包的体积,从而提升应用包下载速度,减少应用安装耗时。
图2为本申请实施例提供的应用下载方法应用的通信***的示意图。如图2所示,该通信***包括服务器100和电子设备200。
可选的,服务器100可以是云服务器或者网络服务器等具有计算功能的设备或服务器。上述服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。
可选的,电子设备200例如可以为手机、平板电脑、笔记本电脑、智慧屏、车载终端、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴设备(如智能手表等)、人工智能(artificialintelligence,AI)设备等终端设备,电子设备安装的操作***包括但不限于 或者其它操作***。本申请对电子设备200的具体类型、所安装的操作***均不作限制。
在一些实施例中,服务器100用于管理应用包,例如,服务器100为应用市场服务器。一些示例中,服务器100响应于电子设备200的请求,对应用包进行拆包处理,降低应用包的体积,之后服务器100向电子设备200下发相应的应用包。电子设备200可根据获取到的应用包,完成应用的下载安装。
示例性的,图3示出了服务器100的一种结构示意图。
服务器包括至少一个处理器201,通信线路202,存储器203以及至少一个通信接口204。其中,存储器203还可以包括于处理器201中。
处理器201可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路202可包括一通路,在上述组件之间传送信息。
通信接口204,用于与其他设备通信。在本申请实施例中,通信接口可以是模块、电路、总线、接口、收发器或者其它能实现通信功能的装置,用于与其他设备通信。可选的,当通信接口是收发器时,该收发器可以为独立设置的发送器,该发送器可用于向其他设备发送信息,该收发器也可以为独立设置的接收器,用于从其他设备接收信息。该收发器也可以是将发送、接收信息功能集成在一起的部件,本申请实施例对收发器的具体实现不做限制。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路202与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器203用于存储用于实现本申请方案的计算机执行指令,并由处理器201来控制执行。处理器201用于执行存储器203中存储的计算机执行指令,从而实现本申请下述实施例提供的应用下载方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码、指令、计算机程序或者其它名称,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图3中的CPU0和CPU1。
在具体实现中,作为一种实施例,服务器可以包括多个处理器,例如图3中的处理器201和处理器205。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在一些实施例中,服务器100通过通信接口204接收到电子设备200发送的应用下载请求后,服务器100通过处理器201确定电子设备200请求下载的应用包以及电子设备200的设备信息。该设备信息例如包括设备类型、语言类型、CPU型号、分辨率等。之后,服务器100可根据设备信息,对应用包进行拆包处理,确定该电子设备200运行该待下载的应用所需的应用包中的运行资源,该运行资源用于支持待下载的应用在电子设备200中的运行。
一些示例中,服务器100可通过通信接口204,将运行资源打包下发至电子设备200,从而降低应用包体积,提升应用下载速度。
另一些示例中,服务器100可再进一步对运行资源进行拆包处理,将运行资源拆分为应用启动所需的资源,如打开应用的首页的资源的集合;以及应用启动后所需的资源,如打开应用的功能页面的资源的集合。之后,服务器100可通过通信接口204,先将应用启动所需的资源打包后通过通信接口204下发至电子设备200,从而提升应用下载启动速度。之后,再将应用启动后所需的资源打包后通过通信接口204下发至电子设备200,从而保证应用的后续正常运行。
示例性的,图4示出了电子设备的一种结构示意图。
电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他第一电子设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为第一电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(globalnavigation satellite system,GLONASS),北斗卫星导航***(beidou navigationsatellite system,BDS),准天顶卫星***(quasi-zenith satellite system,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),例如采用有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Mini-led,Micro-led,Micro-oled,量子点发光二极管(quantumdot light emitting diodes,QLED)等生产制造。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
在一些实施例中,响应于用户在显示屏194上的操作,电子设备200确定用户指示下载应用,可通过无线通信模块160向服务器100发送应用下载请求,并在该应用下载请求中携带电子设备200的设备信息。
后续,电子设备200可通过无线通信模块160接收服务器100下发的应用包,并通过处理器110完成应用的安装后,可通过显示屏194显示应用。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。电子设备可以通过音频模块170,例如音乐播放,录音等。音频模块170可以包括扬声器,受话器,麦克风,耳机接口,以及应用处理器等实现音频功能。
传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。
在一些实施例中,响应于用户操作,电子设备200确定用户指示下载应用,可确定向服务器100发送应用下载请求。
一些示例中,用户操作例如为用户对应用下载链接、图标、卡片、控件等的操作。
一些示例中,应用例如包括普通应用或免安装应用。其中,普通应用例如包括用户可选择安装、卸载的应用,如运动健康、智慧生活、备忘录等应用。免安装应用例如包括快应用、小程序等。免安装应用虽然也需要下载应用包并安装,但是其下载或安装的过程不受用户感知,因此在本申请实施例中称之为免安装应用。
一些示例中,应用下载请求中携带有电子设备200的设备信息,该设备信息例如包括设备类型、语言类型、CPU型号、分辨率等。其中,设备类型例如包括手机、平板、智慧屏等。语言类型例如包括设备使用的语音种类等。
示例性的,免安装可以以卡片的形式显示,如图5中(a)所示界面510,电子设备200在显示负一屏的过程中,检测到用户对卡片511的操作,可启动对应的快服务,如快递服务。该快服务为免安装应用的一种实现方式,如电子设备200首次启动该快服务,可向服务器100发送应用下载请求,以请求下载对应的应用包。后续,电子设备200可基于下载的应用包,拉起相应的快服务,以显示相应的页面。
又示例性的,如图5中(b)所示界面520,电子设备200在显示应用市场的过程中,在快应用中心界面检测到用户对打开控件521的操作,可确定用户指示启动控件521对应的快应用。那么,电子设备200可向服务器100发送应用下载请求,以请求下载对应的应用包。后续,电子设备200可基于下载的应用包,拉起相应的快应用,以显示相应的页面。
在一些实施例中,服务器100接收到电子设备200发送的应用下载请求后,可确定该应用下载请求对应的应用包,该应用包即为电子设备200请求下载的应用对应的应用包。
一些示例中,应用包例如为用于安装应用的安装包,不同操作***支持的应用包类型可能不同。例如,应用包例如为Android***安装包(Android package,APK),鸿蒙***能力安装包(HarmonyOS ability package,HAP)等。
下文以应用包为鸿蒙***中的HAP包为例,对应用包的拆包过程进行详细介绍。应理解,对于安卓***中的APK包,也可基于本案实现应用包的拆包、下载。
在一些实施例中,HAP包可分为入口(Entry)包和特性(Feature)包。
Entry包是指应用的主模块。一个应用中,一般会有一个Entry类型的包。Entry包例如可用于显示应用的入口界面、显示应用的入口图标、实现主特性功能等。
Feature包是指应用的动态特性模块。一个应用可以包含一个或多个Feature类型的包,也可以不包含Feature类型的包。Feature包可用于实现应用的特性功能,可以配置成按需下载安装,也可以配置成随Entry包一起下载安装。
在另一些示例中,当免安装应用只有一个安装包,并且该免安装应用基于该安装包运行,可以将该安装包定义为Entry包。
在一些实施例中,包含组件的应用包能够独立运行。其中,在鸿蒙***的Hap包中,该组件为能力(Ability);在安卓***的APK包中,该组件为活动(activity)。那么,以Hap包为例,电子设备200在确定Hap包后,可确定主要能力(MainAbility)的资源信息,该MainAbility的资源信息用于指示Hap包中应用运行的主要资源,这些主要资源可用于支持应用在不同类型的电子设备中的运行,可用于实现应用的不同功能。
在一些实施例中,服务器100在根据应用下载请求,获取到相应的应用包后,可对应用包进行解析,根据MainAbility的资源信息,确定应用包中包括的Entry包。之后,服务器100可根据应用下载请求中携带的设备信息,对Entry包进行拆分,确定电子设备200运行该待下载的应用所需的应用包中的运行资源。
比如,相同类型的电子设备可配置不同的分辨率,而不同分辨率需要使用的资源存在一定的差异。因此,服务器100可根据设备信息中包括的分辨率,确定电子设备200的分辨率所需的Entry包中的资源。
又比如,不同的电子设备可配置不同型号的处理器(CPU),而不同型号的处理器需要使用的资源存在一定的差异。因此,服务器100可根据设备信息中包括的CPU型号,确定电子设备200的CPU型号所需的Entry包中的资源。一些示例中,CPU型号包括两个字段,其中一个字段用于指示平台,另一个字段用于指示字长。例如,型号为高级精简指令集机器(advanced RISC machines,ARM)64的CPU的平台为ARM,字长为64位;型号为X86的CPU的平台为平台,字长为32位。服务器100根据电子设备200的CPU的平台和字节,可确定CPU运行需要使用的资源。应理解,服务器100也可通过其他方式获取到电子设备200的设备信息。比如,服务器100在其他与电子设备200通信的过程中,可获取到电子设备200的设备信息。又比如,电子设备200在首次与服务器100建立通信连接时,主动上报设备信息。对于服务器100获取电子设备200的设备信息的方式,本申请实施例不做具体限定。
示例性的,如图6所示,服务器100在根据应用下载请求,获取到应用A安装包后,对应用A安装包进行解析,确定其中包括的Entry包。之后,服务器100可根据应用下载请求中携带的设备信息,对Entry包进行拆分,将Entry包拆分为不同的资源包。之后,服务器100可确定对应于设备信息的运行资源,并将运行资源打包为基础包,即最终将Entry包拆分为基础包和其余资源包。
在一些实施例中,服务器100在完成基础包的拆分后,可向请求下载应用的电子设备200下发该基础包。相应的,电子设备200在获取到基础包后,可安装应用。
例如,服务器100确定Entry包中的分辨率资源包括1024x1024分辨率资源、256x256分辨率资源等。服务器100根据电子设备200的设备信息,确定电子设备200的分辨率为1024x1024。那么,服务器100可在拆分Entry包的过程中,将Entry包中包括的1024x1024分辨率资源拆分为运行资源,后续打包到基础包中。这样后续电子设备200下载基础包进行应用的安装,不再需要下载不必要的分辨率资源。
又例如,服务器100确定Entry包中的CPU型号对应的资源包括针对型号为ARM64的CPU的资源、针对型号为X86的CPU的资源等。服务器100根据电子设备200的设备信息,确定电子设备200配置的CPU型号为ARM 64。那么,服务器100可在拆分Entry包的过程中,将Entry包中包括的针对型号为ARM 64的CPU的资源拆分为运行资源,后续打包到基础包中。这样后续电子设备200下载基础包进行应用的安装,不再需要下载不必要的CPU型号对应的资源。
如此,通过服务器100对应用包的拆分,保留电子设备200运行应用所需的运行资源供电子设备200下载,降低应用包的体积,且避免冗余资源的下载,从而提升应用下载速度。并且,能够避免由于下载冗余资源,导致的下载流量的浪费。
应理解,运行资源的保留,保证了应用下载后,电子设备200可正常运行应用,从而在有效提升电子设备200首次拉起应用的速度降低用户等待时长的同时,满足用户的应用使用需求。
此外,应用包体积的降低,也减少了应用包对于电子设备200的存储空间的占用,以提升电子设备200的性能。
在一些实施例中,基础包中包括打开应用的首页的资源的集合,以及打开应用的功能页面的资源的集合。其中,打开应用的首页的资源的集合例如包括显示应用首页所需的图片资源、语言包等。打开应用的功能页面的资源的集合例如包括用于显示相应的应用的功能页面所需的资源等。
那么,电子设备200在下载基础包后,可基于其中包括的打开应用的首页的资源的集合,显示应用首页。也就是说,电子设备200拉起应用只需要使用基础包中包括的部分资源,而其他资源在后续应用运行过程中才可能被使用。
由此,服务器100可再次对基础包进行拆分,以进一步减小应用包体积,提升应用拉起速度。
在一些实施例中,服务器100根据已经确定的MainAbility的资源信息,以ability的维度对基础包进行拆分,将基础包拆分为首页包和非首页包。其中,首页包包括打开应用的首页的资源的集合,非首页包包括打开应用的功能页面的资源的集合。之后,服务器100可向电子设备200下发首页包。这样,电子设备200可根据获取到的首页包启动免安装应用,以显示免安装应用。
比如,电子设备200下载并安装首页包后,可显示免安装应用首页。因此,在首页包中包括的打开应用的首页的资源的集合用于显示该首页,如包括首页中的图片资源、控件资源、文字资源等资源。这样,电子设备200通过下载并安装体积较小的首页包,可实现快速拉起对应的免安装应用,以显示免安装应用的首页。
又比如,电子设备200响应于用户在首页上的操作,需要跳转至其他功能页面,此时电子设备200需要获取到非首页包中包括的资源,以显示其他功能页面。如非首页包中包括的资源为用于显示其他跳转功能页面的图片资源、控件资源、文字资源等资源。
示例性的,如图7所示,基于上述各个实施例所述的方法,服务器100对免安装应用的安装包(如应用A安装包)进行拆分,完成基础包和其余资源包的打包。之后,服务器100根据MainAbility的资源信息,再次对基础包进行拆分,将基础包拆分为应用A首页包和应用A非首页包。
一些示例中,如图7所示,基础包中包括代码文件、资源文件以及资源索引文件。其中,代码文件包括用于提供应用读取文件等通用功能的应用阶段(ApplicationStage)代码文件、用于提供应用包主要业务能力的主要能力(MainAbility)代码文件、以及用于显示首页的主页(MainPage)代码文件等代码文件,这些代码文件用于在应用包安装后实现应用的不同功能,且体积较小,因此服务器100可在首页包中保留这部分代码文件。资源文件的体积较大,因此服务器100可根据资源索引文件,如MainAbility的资源信息,对资源文件进行拆分,将其中包括的主要基础资源拆分至首页包中,这些主要基础资源为打开应用的资源的集合。之后,服务器100可将基础包的资源文件中剩余的其他基础资源拆分至非首页包中,这些其他基础资源为打开应用的功能页面的资源的集合。
那么,如图7所示,服务器100在拆分基础包后,拆分后的应用A首页包中包括代码文件、主要基础资源、以及用于指示主要基础资源的资源索引文件。拆分后的应用A非首页包中包括其他基础资源、以及用于指示其他基础资源的资源索引文件。
之后,服务器100可向电子设备200下发应用A首页包。相应的,电子设备200可根据接收到的应用A首页包,显示应用A的首页。
为了便于更明显的体现本申请实施例提供的应用下载方法的有益效果,如下表1所示,示例性的说明完整的应用包和首页包,在应用包体积、下载耗时、安装耗时上的差异。
可以看出,通过服务器100对应用包进行两次拆包,获取到的首页包的体积明显小于完整的应用包的体积。那么相应的,首页包的下载耗时也明显小于完整的应用包的下载耗时;如表1所示例的,完整的应用包体积为13兆(M),在网速为2M/s的情况下,电子设备200需要6.5秒(s)才能够完成完整的应用包的下载;而首页包的体积为3.95M,在网速为2M/s的情况下,电子设备200只需1.98s即可完成应用包的下载。那么,电子设备200通过下载首页包拉起免安装应用,可节约4.52s的时间。此外,首页包的安装耗时也少于完整的应用包的安装耗时,如可节约130毫秒(ms)。
这样,电子设备200响应于用户指示下载应用的操作,可在较短的时间内完成首页包的下载和安装。从而实现在用户无感知的情况下,显示应用首页,满足用户对于免安装应用快速启动的需求。
表1
如此,相比于现有技术中,电子设备200需要下载完整的安装包后,才能够运行应用,导致用户等待应用下载时间过长。本申请实施例提供的应用下载方法,通过对应用包进行拆分,电子设备200只需要下载完整的应用包中打开应用的首页的资源的集合,从而有效提升应用下载效率,为用户提供无感知的应用下载安装体验。
此外,应用包体积进一步降低,减少了应用包对于电子设备200的存储空间的占用,以提升电子设备200的性能。
在一些实施例中,应用启动后,后续应用的运行需要使用非首页包中的资源。因此,电子设备200还可以下载非首页包,以保证应用的后续运行,满足用户的使用需求。
示例性的,电子设备200在完成首页包的下载后,可安装首页包。之后,电子设备200可下载并安装非首页包。那么,电子设备200在完成非首页包的安装后,可支持应用运行其他页面。
比如,电子设备200在根据首页包中包括的资源显示应用首页的过程中,检测到用户对控件的操作,确定需要跳转至应用的其他页面。那么,电子设备200可响应于用户操作,从非首页包中获取到相应的资源,以跳转至对应的页面。
如此,在降低应用包体积,提升应用拉起时间的同时,保证了后续应用的运行。
又示例性的,如图8所示,电子设备200在完成应用A首页包的下载后,可安装应用A首页包。并且,在安装应用A首页包的过程中或者完成后,电子设备200可向服务器100请求下载应用A非首页包,在应用A非首页包下载完成后再安装应用A非首页包。相应的,服务器100可响应于电子设备200的请求,向电子设备200下发应用A非首页包。后续,电子设备200可基于该应用A非首页包中包括的资源,显示应用A的其他页面。
其中,电子设备200中的包管理服务,可用于解析、安装应用包。
如此,不必等待在首页包下载并安装完成后才能够下载非首页包,而是通过并行首页包的安装过程,以及非首页包的下载过程,减少首页包和非首页包下载和安装的整体时间,从而在提升应用拉起时间的同时,进一步降低后续应用运行的等待时间。
又示例性的,电子设备200在完成首页包的下载和安装后,可向服务器100请求下载非首页包,之后可安装非首页包。那么,电子设备200在完成非首页包的安装后,可支持应用运行其他功能页面。
如此,在提升应用首页显示效率的同时,通过非首页包保证应用显示其他功能页面。
再示例性的,电子设备200在完成首页包的下载和安装后,应用根据首页包启动应用,并显示该应用的首页。之后,电子设备200在显示首页的过程中,检测到用户的操作,确定用于指示显示其他功能页面的操作,可向服务器100请求下载非首页包,之后可安装非首页包。那么,电子设备200在完成非首页包的安装后,可显示用户指示显示的功能页面。
如此,在提升应用首页显示效率的同时,通过非首页包保证应用显示其他功能页面。
一些示例中,服务器100在将基础包拆分为首页包和非首页包后,可同时向电子设备200下发首页包和非首页包。相应的,电子设备200可选择优先下载首页包,在首页包下载完成后,再下载非首页包。即,服务器100可选择响应于电子设备200的请求单独下发首页包和非首页包,或者同时下发首页包和非首页包。
上文以Hap包为例,对应用包的拆分过程,如拆分出其中Entry包中的基础包的过程;以及二次拆分过程,如将基础包拆分为首页包和非首页包的过程,进行说明。应理解,在不同的操作***中,应用包的名称相同或不相同,其中Entry包、基础包、首页包、非首页包的名称仅为示例性说明,本申请实施例对此不做限制。
示例性的,图9为本申请实施例提供的一种应用下载方法的流程示意图。如图9所示,该方法包括如下步骤。
S901、响应于用户的第一操作,电子设备向服务器发送第一应用下载请求,该第一应用下载请求中携带有电子设备的设备信息以及第一操作指示下载的第一应用的信息。
其中,设备信息包括如下一项或几项:设备类型、语言类型、处理器型号、分辨率。第一操作例如为用户对应用下载链接、图标、卡片、控件等的操作。
在一些实施例中,响应于用户指示下载第一应用的第一操作,电子设备向服务器发送第一应用下载请求,并在该第一应用下载请求中携带自身的设备信息以及请求下载的第一应用的信息,以下载第一应用。
一些示例中,第一应用的信息例如包括用于指示第一应用的标识。
示例性的,免安装可以以卡片的形式显示,如图5中(a)所示界面510,电子设备200在显示负一屏的过程中,检测到用户对卡片511的操作,可启动对应的快服务,如快递服务。该快服务为免安装应用的一种实现方式,如电子设备200首次启动该快服务,可向服务器100发送应用下载请求,以请求下载对应的应用包。
S902、服务器根据第一应用的信息,确定第一应用对应的第一应用包。
在一些实施例中,服务器接收电子设备发送的第一应用下载请求,可根据其中携带的第一应用的信息,确定请求下载的第一应用对应的第一应用包。
S903、服务器根据设备信息,对第一应用包进行拆包处理,将第一应用包中的入口包拆分为基础包和其余资源包。
其中,基础包包括电子设备运行第一应用的资源的集合。
在一些实施例中,服务器在确定第一应用包后,可确定其中的入口包。之后,服务器可对入口包进行拆包处理,根据电子设备的设备信息,确定该电子设备运行第一应用的资源的集合,将这些资源的集合打包为基础包。
示例性的,如图6所示,服务器100在根据应用下载请求,获取到应用A安装包后,对应用A安装包进行解析,确定其中包括的Entry包。之后,服务器100可根据应用下载请求中携带的设备信息,对Entry包进行拆分,将Entry包拆分为不同的资源包。之后,服务器100可确定对应于设备信息的运行资源,并将运行资源打包为基础包,即最终将Entry包拆分为基础包和其余资源包。
例如,服务器100确定Entry包中的分辨率资源包括1024x1024分辨率资源、256x256分辨率资源等。服务器100根据电子设备200的设备信息,确定电子设备200的分辨率为1024x1024。那么,服务器100可在拆分Entry包的过程中,将Entry包中包括的1024x1024分辨率资源拆分为运行资源,后续打包到基础包中。这样后续电子设备200下载基础包进行应用的安装,不再需要下载不必要的分辨率资源。
S904、服务器向电子设备发送基础包。
在一些实施例中,服务器在确定基础包后,可向电子设备发送基础包。相应的,电子设备接收服务器发送的基础包。
S905、电子设备根据基础包,显示第一应用。
在一些实施例中,电子设备在接收到基础包后,可根据基础包中的资源集合,显示第一应用。
如此,通过服务器对应用包的拆分,保留电子设备运行应用所需的运行资源供电子设备下载,降低应用包的体积,且避免冗余资源的下载,从而提升应用下载速度。并且,能够避免由于下载冗余资源,导致的下载流量的浪费。
应理解,运行资源的保留,保证了应用下载后,电子设备可正常运行应用,从而在有效提升电子设备首次拉起应用的速度降低用户等待时长的同时,满足用户的应用使用需求。
此外,应用包体积的降低,也减少了应用包对于电子设备的存储空间的占用,以提升电子设备的性能。
在一些实施例中,服务器还可以对基础包进行拆包处理,将基础包拆分为首页包和非首页包,首页包包括打开第一应用的首页的资源的集合,非首页包包括打开第一应用的功能页面的资源的集合。
一些示例中,服务器向电子设备发送首页包。相应的,电子设备接收服务器发送的首页包,之后电子设备可根据首页包,显示第一应用的首页。
示例性的,如图7所示,服务器100根据资源索引文件,如MainAbility的资源信息,对资源文件进行拆分,将其中包括的主要基础资源拆分至首页包中,这些主要基础资源为打开应用的首页的资源的集合。并且,服务器100将基础包中的代码文件保留至首页包中。之后,服务器100可将基础包的资源文件中剩余的其他基础资源拆分至非首页包中,这些其他基础资源为打开应用的功能页面的资源的集合。
如此,服务器通过对基础包的拆分,保留电子设备打开应用的首页的资源的集合,在保证应用启动并显示首页的同时,进一步提升应用启动效率。
在一些实施例中,电子设备在显示第一应用的首页的过程中,检测到用户的第二操作,第二操作用于指示跳转至第一应用的功能页面。一些示例中,电子设备在首页包下载完成后,向服务器发送第二应用下载请求;或者电子设备响应于该第二操作,向服务器发送第二应用下载请求。其中,第二应用下载请求用于请求下载用于显示第一应用其他功能页面的资源。
相应的,服务器接收电子设备发送的第二应用下载请求,第二应用下载请求为电子设备在安装首页包的过程中或者完成后发送的请求。响应于第二应用下载请求,服务器向电子设备发送非首页包,非首页包用于电子设备显示第一应用的功能页面。
如此,不必等待在首页包下载并安装完成后才能够下载非首页包,而是通过并行首页包的安装过程,以及非首页包的下载过程,减少首页包和非首页包下载和安装的整体时间,从而在提升应用拉起时间的同时,进一步降低后续应用运行的等待时间。
以上结合图5-图9详细说明了本申请实施例提供的应用下载方法。以下结合图10详细说明本申请实施例提供的服务器,以及结合图11详细说明本申请实施例提供的电子设备。
在一种可能的设计中,图10为本申请实施例提供的服务器的结构示意图。如图10所示,服务器1000可以包括:收发单元1001和处理单元1002。服务器1000可用于实现上述方法实施例中涉及的服务器100的功能。
可选地,收发单元1001,用于支持服务器1000执行图9中的S901和S904。
可选地,处理单元1002,用于支持服务器1000执行图9中的S902和S903。
其中,收发单元可以包括接收单元和发送单元,可以由收发器或收发器相关电路组件实现,可以为收发器或收发模块。服务器1000中的各个单元的操作和/或功能分别为了实现上述方法实施例中所述的应用下载方法的相应流程,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能单元的功能描述,为了简洁,在此不再赘述。
可选地,图10所示的服务器1000还可以包括存储单元(图10中未示出),该存储单元中存储有程序或指令。当收发单元1001和处理单元1002执行该程序或指令时,使得图10所示的服务器1000可以执行上述方法实施例中所述的应用下载方法。
图10所示的服务器1000的技术效果可以参考上述方法实施例中所述的应用下载方法的技术效果,此处不再赘述。
除了以服务器1000的形式以外,本申请提供的技术方案也可以为服务器中的功能单元或者芯片,或者与服务器匹配使用的装置。
在一种可能的设计中,图11为本申请实施例提供的电子设备的结构示意图。如图11所示,电子设备1100可以包括:收发单元1101、处理单元1102以及显示单元1103。电子设备1100可用于实现上述方法实施例中涉及的电子设备200的功能。
可选地,收发单元1101,用于支持电子设备1100执行图9中的S901和S904。
可选地,处理单元1102,用于支持电子设备1100执行图9中的S905。
可选地,显示单元1103,用于支持电子设备1100执行图9中的S905。
其中,收发单元可以包括接收单元和发送单元,可以由收发器或收发器相关电路组件实现,可以为收发器或收发模块。电子设备1100中的各个单元的操作和/或功能分别为了实现上述方法实施例中所述的应用下载方法的相应流程,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能单元的功能描述,为了简洁,在此不再赘述。
可选地,图11所示的电子设备1100还可以包括存储单元(图11中未示出),该存储单元中存储有程序或指令。当收发单元1101、处理单元1102以及显示单元1103执行该程序或指令时,使得图11所示的电子设备1100可以执行上述方法实施例中所述的应用下载方法。
图11所示的电子设备1100的技术效果可以参考上述方法实施例中所述的应用下载方法的技术效果,此处不再赘述。
除了以电子设备1100的形式以外,本申请提供的技术方案也可以为电子设备中的功能单元或者芯片,或者与电子设备匹配使用的装置。
本申请实施例还提供一种芯片***,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片***实现上述任一方法实施例中的方法。
可选地,该芯片***中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片***中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请实施例并不限定。示例性地,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性地,该芯片***可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是***芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的应用下载方法。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的应用下载方法。
另外,本申请实施例还提供一种装置。该装置具体可以是组件或模块,该装置可包括相连的一个或多个处理器和存储器。其中,存储器用于存储计算机程序。当该计算机程序被一个或多个处理器执行时,使得装置执行上述各方法实施例中的应用下载方法。
其中,本申请实施例提供的装置、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法。因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应地软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuit,ASIC)中。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明。实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成;即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的。例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
计算机可读存储介质包括但不限于以下的任意一种:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种应用下载方法,其特征在于,应用于服务器,所述方法包括:
接收电子设备发送的第一应用下载请求,所述第一应用下载请求中携带有所述电子设备的设备信息以及请求下载的第一应用的信息;
根据所述第一应用的信息,确定所述第一应用对应的第一应用包;
根据所述设备信息,对所述第一应用包进行拆包处理,将所述第一应用包中的入口包拆分为基础包和其余资源包,所述基础包包括所述电子设备运行所述第一应用的资源的集合;
向所述电子设备发送所述基础包。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述基础包进行拆包处理,将所述基础包拆分为首页包和非首页包,所述首页包包括打开所述第一应用的首页的资源的集合,所述非首页包包括打开所述第一应用的功能页面的资源的集合。
3.根据权利要求2所述的方法,其特征在于,所述向所述电子设备发送所述基础包,包括:
向所述电子设备发送所述首页包,所述首页包用于所述电子设备启动所述第一应用并显示所述第一应用的首页。
4.根据权利要求3所述的方法,其特征在于,在所述向所述电子设备发送所述首页包之后,所述方法还包括:
接收所述电子设备发送的第二应用下载请求,所述第二应用下载请求为所述电子设备在安装所述首页包的过程中或者完成后发送的请求;
响应于所述第二应用下载请求,向所述电子设备发送所述非首页包,所述非首页包用于所述电子设备显示所述第一应用的功能页面。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述设备信息包括如下一项或几项:设备类型、语言类型、处理器型号、分辨率。
6.一种应用下载方法,其特征在于,应用于电子设备,所述方法包括:
响应于用户的第一操作,向服务器发送第一应用下载请求,所述第一应用下载请求中携带有所述电子设备的设备信息以及所述第一操作指示下载的第一应用的信息;
接收所述服务器基于所述第一应用下载请求发送的基础包,所述基础包包括所述第一应用的入口包中用于供所述电子设备运行所述第一应用的资源的集合;
根据所述基础包,显示第一应用。
7.根据权利要求6所述的方法,其特征在于,所述接收所述服务器基于所述第一应用下载请求发送的基础包,包括:
接收所述服务器发送的首页包,所述首页包包括所述基础包中用于打开所述第一应用的首页的资源的集合。
8.根据权利要求7所述的方法,其特征在于,在所述接收所述服务器发送的首页包之后,所述方法还包括:
安装所述首页包;
在所述安装所述首页包的过程中或者完成后,向所述服务器发送第二应用下载请求;
接收所述服务器发送的非首页包,所述非首页包包括所述基础包中用于打开所述第一应用的功能页面的资源的集合。
9.根据权利要求8所述的方法,其特征在于,所述根据所述基础包,显示第一应用,包括:
根据所述首页包,显示所述第一应用的首页。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在显示所述第一应用的首页的过程中,检测到用户的第二操作,根据所述非首页包,跳转至所述第二操作指示显示的所述第一应用的功能页面。
11.根据权利要求9所述的方法,其特征在于,在所述向所述服务器发送第二应用下载请求之前,所述方法还包括:
在显示所述第一应用的首页的过程中,检测到用户的第三操作,所述第三操作用于指示跳转至所述第一应用的功能页面。
12.根据权利要求6-11任一项所述的方法,其特征在于,所述设备信息包括如下一项或几项:设备类型、语言类型、处理器型号、分辨率。
13.一种应用下载***,其特征在于,所述***包括:电子设备和服务器;
所述电子设备,用于:
响应于用户的第一操作,向服务器发送第一应用下载请求,所述第一应用下载请求中携带有所述电子设备的设备信息以及所述第一操作指示下载的第一应用的信息;
所述服务器,用于:
接收电子设备发送的第一应用下载请求,所述第一应用下载请求中携带有所述电子设备的设备信息以及请求下载的第一应用的信息;
根据所述第一应用的信息,确定所述第一应用对应的第一应用包;
根据所述设备信息,对所述第一应用包进行拆包处理,将所述第一应用包中的入口包拆分为基础包和其余资源包,所述基础包包括所述电子设备运行所述第一应用的资源的集合;
向所述电子设备发送所述基础包;
所述电子设备,还用于:
接收所述服务器基于所述第一应用下载请求发送的基础包,所述基础包包括所述第一应用的入口包中用于供所述电子设备运行所述第一应用的资源的集合;
根据所述基础包,显示第一应用。
14.根据权利要求13所述的***,其特征在于,
所述服务器,还用于:
对所述基础包进行拆包处理,将所述基础包拆分为首页包和非首页包,所述首页包包括打开所述第一应用的首页的资源的集合,所述非首页包包括打开所述第一应用的功能页面的资源的集合。
15.根据权利要求14所述的***,其特征在于,
所述服务器,还用于:向所述电子设备发送所述首页包,所述首页包用于所述电子设备启动所述第一应用并显示所述第一应用的首页;
所述电子设备,还用于:接收所述首页包。
16.根据权利要求15所述的***,其特征在于,
所述服务器,还用于:
接收所述电子设备发送的第二应用下载请求,所述第二应用下载请求为所述电子设备在安装所述首页包的过程中或者完成后发送的请求;
响应于所述第二应用下载请求,向所述电子设备发送所述非首页包,所述非首页包用于所述电子设备显示所述第一应用的功能页面。
17.一种应用下载方法,其特征在于,应用于电子设备,所述方法包括:
响应于用户对卡片的打开操作,所述电子设备向服务器发送第一应用下载请求;
所述电子设备接收所述服务器基于所述第一应用下载请求发送的首页包;
基于所述首页包,所述电子设备显示所述第一应用的首页;
响应于用户对所述第一应用的首页的跳转操作,所述电子设备向服务器发送第二应用下载请求;
所述电子设备接收所述服务器基于所述第二应用下载请求发送的非首页包;其中,所述首页包和所述非首页包均为所述第一应用的安装包;
基于所述非首页包,所述电子设备显示所述第一应用的功能页面。
18.一种服务器,其特征在于,包括:处理器和存储器,所述存储器和所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器从所述存储器中读取所述计算机指令,使得所述服务器执行如权利要求1-5中任意一项所述的方法。
19.一种电子设备,其特征在于,包括:处理器、存储器和显示屏,所述存储器、所述显示屏和所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器从所述存储器中读取所述计算机指令,使得所述电子设备执行如权利要求6-12中任意一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在服务器上运行时,使得所述服务器执行如权利要求1-5中任意一项所述的方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求6-12中任意一项所述的方法。
22.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-5中任意一项所述的方法;或者,使得所述计算机执行如权利要求6-12中任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211647230.8A CN118233492A (zh) | 2022-12-21 | 2022-12-21 | 应用下载方法、服务器、电子设备及*** |
PCT/CN2023/134487 WO2024131458A1 (zh) | 2022-12-21 | 2023-11-27 | 应用下载方法、服务器、电子设备及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211647230.8A CN118233492A (zh) | 2022-12-21 | 2022-12-21 | 应用下载方法、服务器、电子设备及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118233492A true CN118233492A (zh) | 2024-06-21 |
Family
ID=91499801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211647230.8A Pending CN118233492A (zh) | 2022-12-21 | 2022-12-21 | 应用下载方法、服务器、电子设备及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118233492A (zh) |
WO (1) | WO2024131458A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020188941A1 (en) * | 2001-06-12 | 2002-12-12 | International Business Machines Corporation | Efficient installation of software packages |
CN107809491A (zh) * | 2017-11-30 | 2018-03-16 | 北京小米移动软件有限公司 | 安装包的下载方法及装置 |
CN108287722A (zh) * | 2018-01-09 | 2018-07-17 | 北京大学 | 一种安卓应用的解耦方法 |
CN110502245A (zh) * | 2018-05-16 | 2019-11-26 | 华为技术有限公司 | 数据处理方法、终端、服务器以及应用开发设备 |
CN112947947B (zh) * | 2019-12-11 | 2024-06-25 | 华为终端有限公司 | 安装包的下载方法、分发方法、终端设备、服务器及*** |
-
2022
- 2022-12-21 CN CN202211647230.8A patent/CN118233492A/zh active Pending
-
2023
- 2023-11-27 WO PCT/CN2023/134487 patent/WO2024131458A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024131458A1 (zh) | 2024-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4002108B1 (en) | Application start method and electronic device | |
CN112291764B (zh) | 一种内容接续*** | |
WO2020000448A1 (zh) | 一种柔性屏幕的显示方法及终端 | |
US11886222B1 (en) | Dynamic link library loading method and apparatus | |
WO2021104259A1 (zh) | 一种快应用与原生应用间数据共享的方法及终端 | |
WO2021073337A1 (zh) | 安装插件的方法、装置和存储介质 | |
CN114996168A (zh) | 一种多设备协同测试方法、测试设备及可读存储介质 | |
CN116723415B (zh) | 缩略图生成的方法及终端设备 | |
CN113760192B (zh) | 数据读取方法、装置、存储介质和程序产品 | |
WO2021238376A1 (zh) | 功能包的加载方法、装置、服务器和电子设备 | |
CN118233492A (zh) | 应用下载方法、服务器、电子设备及*** | |
CN116795435A (zh) | 兼容性管控方法及相关设备 | |
CN113835802A (zh) | 设备交互方法、***、设备及计算机可读存储介质 | |
CN115407961A (zh) | 音频焦点的控制方法及相关装置 | |
CN113950045A (zh) | 签约数据的下载方法和电子设备 | |
CN116048629B (zh) | ***服务切换方法及控制装置、电子设备和存储介质 | |
CN116647936B (zh) | 一种pdn连接方法和通信*** | |
WO2023160217A1 (zh) | 检测嵌入式身份识别模块eSIM卡的方法及终端设备 | |
CN118227222A (zh) | 应用管理方法、服务器、电子设备及*** | |
CN117991939A (zh) | 一种文件下载方法及相关装置 | |
CN117729561A (zh) | ***升级方法、终端及存储介质 | |
CN117631935A (zh) | 参数同步方法及电子设备 | |
CN117632534A (zh) | 一种进程间通信方法与电子设备 | |
CN116795197A (zh) | 图层处理方法和电子设备 | |
CN117492879A (zh) | 应用程序管理的方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |