CN111045691A - 一种应用程序下载安装的方法及装置、终端、存储介质 - Google Patents

一种应用程序下载安装的方法及装置、终端、存储介质 Download PDF

Info

Publication number
CN111045691A
CN111045691A CN201811191657.5A CN201811191657A CN111045691A CN 111045691 A CN111045691 A CN 111045691A CN 201811191657 A CN201811191657 A CN 201811191657A CN 111045691 A CN111045691 A CN 111045691A
Authority
CN
China
Prior art keywords
application program
memory space
downloading
downloaded
application
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
Application number
CN201811191657.5A
Other languages
English (en)
Inventor
刘爽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201811191657.5A priority Critical patent/CN111045691A/zh
Publication of CN111045691A publication Critical patent/CN111045691A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种应用程序下载安装的方法及装置、终端及存储介质。该方法包括:在当前内存空间不足时,确定下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间;根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级;根据所述每一应用程序的优先级,完成下载。

Description

一种应用程序下载安装的方法及装置、终端、存储介质
技术领域
本发明实施例涉及移动通信领域,涉及但不限于一种应用程序下载安装的方法及装置、终端、存储介质。
背景技术
随着智能移动终端的快速发展、通信技术的成熟以及网络化的快速发展,各个行业都已经推出了相应的应用程序来方便人们的生活,人们会在移动终端上安装各种各样的应用程序,例如视频播放器、游戏、QQ、微信等APP(Application,应用程序)。而随着安装应用的数量越来越多,如何合理利用移动终端内存空间就称为了亟待解决的问题。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种应用程序下载安装的方法及装置、终端、存储介质。
本发明实施例提供一种应用程序下载安装的方法,所述方法包括:
在当前内存空间不足时,确定下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间;
根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级;
根据所述每一应用程序的优先级,完成下载。
本发明实施例还提供一种应用程序下载安装的装置,所述装置包括:
第一确定单元,配置为在当前内存空间不足时,确定下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间;
第二确定单元,配置为根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级;
下载单元,配置为根据所述每一应用程序的优先级,完成下载。
本发明实施例还提供一种实现应用程序下载安装的终端,该终端包括:存储器、处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述应用程序下载安装的方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述应用程序下载安装的方法。
通过本发明实施例所提供的方法,能够在移动终端的内存空间不足时,规划合理的安装策略,按照合理的优先级对待下载的应用程序进行下载并安装,使得待下载的应用程序能够最大限度地下载并安装。
附图说明
图1为本发明实施例的应用程序下载安装的方法实现流程示意图;
图2为本发明实施例的应用程序下载安装的又一方法流程示意图;
图3A为本发明实施例的应用程序下载安装的又一方法流程示意图;
图3B为本发明实施例的应用程序下载安装的一种装置结构示意图;
图3C为本发明实施例的应用程序下载安装的又一方法流程示意图;
图3D为本发明实施例的应用程序下载安装的又一方法流程示意图;
图4为本发明实施例的应用程序下载安装的又一装置结构示意图;
图5为本发明实施例中应用程序下载安装的终端的一种硬件实体示意图。
具体实施方式
移动终端在线安装应用程序时,安装的过程需要比安装完成后的应用程序大小更大的内存空间。尤其是在线安装应用程序时,当移动终端的可用内存足够大时,才能够正确安装应用程序,并在安装完成后释放一定的空间。举例来说,手机在线安装一个1G(GigaByte吉字节,十亿字节)大小的应用程序,此时可能需要手机具有2G的内存空间才能够正确地安装,安装完成后释放一定的空间,该应用程序最终只占用1G的内存空间。而这就造成一个问题,当移动终端内存较小时,如何合理地安装应用程序以保证最大程度地利用内存空间。比如,当手机当前有1.1G的可用内存空间时,同时下载一个500M(Mega Byte兆字节,百万字节)、一个200M和一个100M的应用程序,而每个应用程序安装时都需要其自身两倍的内存空间才能够正确安装,那么如果首先安装了200M和100M的应用程序,安装完成后内存空间只剩下800M,而继续安装500M的应用程序需要1G的内存空间,这时500M的应用程序就不能正确下载并安装。因此,本发明实施例所提供的方法,能够规划合理的安装策略,使得应用程序能够最大限度地下载并安装。
下面结合实施例来进行说明:
实施例一
本发明实施例提供一种应用程序下载安装的方法,该方法用于移动终端设备中,该移动终端设备在执行该方法的时候能够规划合理的安装策略,使得应用程序能够最大限度地下载并安装,该方法所实现的功能可以通过移动终端设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该移动终端设备至少包括处理器和存储介质。
图1为本发明实施例的一种应用程序下载安装的方法实现流程示意图,如图1所示,该方法包括:
步骤S101、在当前内存空间不足时,确定下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间;
这里的下载列表是移动终端通过用户指定的待下载的应用程序或者是移动终端自身系统自动获取的待下载的应用程序列表。下载时间是指下载每一个应用程序所需要的时间,即开始下载到下载完成的时间。这里可以设定下载完成的时刻开始安装。
移动终端在下载应用程序时,首先获取应用程序所需的内存空间和下载地址,通过下载地址进行下载。这里应用程序所需的内存空间可以包括安装包的大小、下载完成后进行安装时所需的内存空间大小以及安装完成后的应用程序所需要的内存空间。
移动终端根据当前的网络带宽,测量每一应用程序的下载速度,并根据每一应用程序的下载速度和应用程序所需要的内存空间来计算下载时间。
步骤S102、根据下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级;
这里需要根据实际的情况来进行优先级的排序,可以将每一个应用程序排在不同的优先级,然后依次进行下载;也可以按照每一应用程序所需的内存空间的大小进行排序,例如从大到小进行排序依次进行下载;还可以将不会发生冲突的应用程序都排在同一优先级同时进行下载。
如果排在同一优先级的应用程序同时下载并且下载时间相同,也就是同时下载完成并开始安装,但是这些同时安装的应用程序在安装时所需的内存空间超出了移动终端剩余的内存空间,那么就会发生冲突,而导致无法正常安装。而排在同一优先级的应用程序同时开始下载,由于每个应用程序所需的内存空间不同时,下载时间也就不同,当所有同时下载的应用程序不同时下载完成,就不会同时开始安装,也就不会发生冲突。因此,只要将不会发生冲突的应用程序排在同一优先级进行下载即可。
在其他实施例中,所述根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级,包括:
根据所述每一应用程序的下载时间、应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级;其中,所述第一内存空间是应用程序安装时所需的内存空间,且所述第一内存空间不小于对应的应用程序安装完成后所需的第二内存空间。
这里的第一内存空间与第二内存空间分别是每一应用程序安装时所需要的内存空间,以及安装完成后应用程序所占的内存空间。一般情况下,安装时应用程序需要更大的内存空间,安装完成后会自动删除不需要的安装文件,释放一部分空间。因此,如果多个应用程序同时安装,就需要同时占用较大的内存空间,从而引起冲突无法正常安装。
根据第一内存空间和第二内存空间来设置合理的优先级,就可以避免上述冲突。然而,优先级设置的是否合理,还会关系到最终是否能够最大程度的地下载应用程序。这里,可以根据下载列表中的应用程序的所需的内存空间由大到小进行排序,并依次下载。比如,假设安装一个应用程序所需的内存空间都是下载完成后应用程序所需的内存的两倍。当下载列表中包含一个200M的应用程序和一个500M的应用程序,即这两个应用程序下载完成后所占的内存空间分别是200M和500M,而安装时分别需要400M和1G的内存空间。这时,如果移动终端当前可用的内存空间是1G,那么如果先下载200M的应用程序,安装完成后剩余了800M的内存空间,则不足以下载并安装500M的应用程序。相反,如果先下载500M的应用程序,安装时刚好占用全部的1G内存空间,安装完成后释放500M的内存空间,足够下载200M的另一应用程序。因此,这里将500M的应用程序放在第一优先级,将200M的应用程序放在第二优先级,即可达到最大化的下载和安装。
在其他实施例中,所述根据每一应用程序的下载时间和应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级,包括:
步骤S11、将所述下载列表中每一应用程序对应的第一内存空间进行累加,得到第一累加和;
步骤S12、当所述第一累加和不小于当前内存空间时,根据每一应用程序的下载时间、应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级。
这里考虑一种情况,当下载列表中所有的应用程序的第一内存空间,也就是安装时所需的内存空间的总和,即上述第一累加和小于当前移动终端的可用内存空间;也就是说,无论以何种方式下载,都不会有任何的冲突,并且可以成功下载并安装下载列表中全部的应用程序。此时,就不需要进行优先级的设定,即将默认的顺序作为下载顺序即可。因此,这里首先进行判断,当上述第一累加和大于当前的内存空间时,则必须要进行优先级的排序。此时再通过本实施例中的方法确定每一应用程序的优先级。
在其他实施例中,所述当所述第一累加和不小于当前内存空间时,根据每一应用程序的下载时间、应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级,包括:
步骤S21、根据所述每一应用程序的第二内存空间由大至小排序,得到排序列表;
步骤S22、当所述排序列表的第N个应用程序与前N-1个中的M个应用程序的第二内存空间大小相同时,将所述第N个应用程序的第一内存空间与所述M个应用程序的第一内存空间进行累加,得到第二累加和;其中,所述N为大于等于2的自然数,M为大于等于1且小于N的自然数;
步骤S23、当所述第二累加和大于当前剩余内存空间时,将前N-1个应用程序排在一个优先级;
步骤S24、继续将所述排序列表中剩余的应用程序排在其他优先级。
这里是一种确定每一应用程序优先级的方式。首先按照每一应用程序的第二内存空间也就是安装完成后所占的内存空间来由大至小金星排序,得到排序列表。接下来从第一个应用程序开始作为第一优先级,此时依次判断每一应用程序的第一、第二内存空间、下载时间以及是否会产生冲突。判断到前N-1个应用程序时都没有发生冲突,即同时开始下载也能够保证这N-1个应用程序正常安装。到第N个应用程序时,发现该第N个应用程序与前N-1个应用程序中有M个的第二内存空间都是相同的,下载时间也会相同,即同时开始下载可能会同时下载结束并开始安装,此时,这M个应用程序与该第N个应用程序安装时所需的内存空间的总和,即第一内存空间的第二累加和超出了剩余的内存空间,从而会导致安装时的冲突。因此,第N个应用程序不能与前N-1个应用程序同时开始下载,即不能放在同一优先级。
通过上述过程,将排序列表中的前N-1个应用程序排在了第一优先级,接下来从第N个应用程序开始,继续通过以上方法进行判断,直到排序列表中所有的应用程序都排在了相应的优先级。
步骤S103、根据所述每一应用程序的优先级,完成下载。
这里只要按照优先级的顺序进行下载,同一优先级的应用程序可以同时进行下载,也可以不同时进行下载,都不会影响正常的安装。
实施例二
本发明实施例提供另一种应用程序下载安装的方法,如图2所示,该方法包括:
步骤S201、在当前内存空间不足时,确定下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间;
步骤S202、根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级;
这里,所述根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级,包括:根据所述每一应用程序的下载时间、应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级;其中,所述第一内存空间是应用程序安装时所需的内存空间,且所述第一内存空间不小于对应的应用程序安装完成后所需的第二内存空间。
步骤S203、将所述下载列表中每一应用程序对应的第一内存空间进行累加,得到第一累加和;
步骤S204、当所述第一累加和大于当前内存空间时,卸载已有应用程序;
这里,当第一累加和大于当前内存空间时,可以先选择合适的移动终端已有的应用程序进行卸载,释放一定的内存空间。同时,保存被卸载的应用程序的相关信息,包括下载链接,下载位置等,以便进行恢复。
步骤S205、根据所述每一应用程序的优先级,完成下载;
这里是完成下载列表中的应用程序的下载,完成之后,还需要恢复被下载的已有应用程序。
步骤S206、当所述每一应用程序安装完成后,重新下载被卸载的所述已有应用程序;
由于卸载了部分已有的应用程序,当前内存空间足够下载列表中的应用程序正常下载并安装。当下载列表中的应用程序被安装完毕后,删除了不必要的下载文件,释放了一部分空间,此时就可以对被卸载的应用程序进行恢复,即重新下载被卸载的已有应用程序。
本实施例更适于下载列表中仅包含一个应用程序的情况。也就是说,当下载列表中仅包含一个应用程序时,这一应用程序的第一内存空间超出了当前可用的内存空间,无法正常安装;而该应用程序的第二内存空间没有超出当前可用内存空间。此时,通过选择合适的已有应用程序进行卸载,释放部分空间,就可以保证该应用程序的正常安装,安装完成后,再自动重新下载被卸载的应用程序即可。
在其他实施例中,上述方法还包括:
步骤S31、根据当前正在下载的应用程序的第二内存空间,确定所述当前正在下载的应用程序下载完成后剩余的内存空间;
步骤S32、将所述下载列表中待下载每一应用程序的所述第一内存空间进行累加,得到第三累加和;
步骤S33、当所述剩余的内存空间不小于所述第三累加和时,暂停下载所述当前正在下载的应用程序,并下载所述待下载的应用程序;
步骤S34、当所述待下载的应用程序下载并安装完成后,继续下载所述当前正在下载的应用程序。
这里,当前下载的应用程序如果完成下载,则会影响待下载的其他应用程序的下载。因为下载列表中剩余的应用程序的第一内存空间的第三累加和,即安装时所需内存空间的总和,小于可用的内存空间,可能会造成后续的冲突。因此,可以首先暂停当前正在下载的应用程序,先对下载列表中的剩余的待下载应用程序进行下载。下载并安装完成后,再继续下载这一被暂停的应用程序。
例如,正在下载一个200M的应用程序,下载完成后,剩余的内存空间为900M,而待下载列表中还包括一个500M的应用程序,该500M的应用程序安装时需要1G的内存空间。因此,可以在正在下载的200M的应用程序下载到不超过100M的时候暂停下载,此时的可用内存不小于1G,然后开始下载500M的应用程序,下载并安装完成后,可用空间恢复到不小于500M的状态,此时就可以继续正常下载200M的应用程序。
在其他实施例中,所述方法还包括:
步骤S41、当所述剩余的内存空间小于所述第三累加和时,删除所述当前正在下载的应用程序,并下载所述待下载的应用程序;
步骤S42、在所述待下载的应用程序下载安装完成后,重新下载所述当前正在下载的应用程序;
或者,
在其他实施例中,所述方法还包括:
步骤S51、当所述剩余的内存空间小于所述第三累加和时,删除所述当前正在下载的应用程序,并重新下载所述当前正在下载的应用程序;
步骤S52、在当前内存空间等于所述第三累加和时,暂停所述当前正在下载的应用程序,并下载所述待下载的应用程序。
这里还用上一个举例,当前下载200M的应用程序已经下载到了105M,此时检测到剩余的内存空间仅有995M,已经不足以下载并安装另一个500M的应用程序。此时,先暂停当前的下载并删除已经下载的部分,释放这105M空间。然后可以开始下载另一个500M的应用程序,当500M的应用程序下载完成后,再重新下载200M的应用程序。
或者,删除后重新下载该200M的应用程序,下载到100M时暂停下载,再开始下载500M的应用程序,下载并安装完成后,再继续下载200M的应用程序剩余的100M。
实施例三
本发明实施例提供一种应用程序下载安装的方法,如图3A所示,该方法包括:
步骤S301、终端检测每个应用程序的下载速度;
在多个应用程序同时下载安装时,终端检测每个应用程序的下载速度。
步骤S302、终端根据每个应用程序的下载速度,预估每个应用程序下载完成所需要的时间;
终端根据实时的下载速度,预估每个应用程序下载完成的时间,由于受网络影响,下载速度可能会不断地变化,因此预估的应用程序下载完成的时间也随之变化。同时,终端获取每个应用程序自身的大小以及安装时所需要占用的空间大小。
步骤S303、终端根据预估的时间和对应的应用程序安装所需要的内存空间大小,评估每个程序的优先级;
步骤S304、终端根据每个应用程序的优先级进行下载安装。
当终端检测到的内存空间的绝对值大于待安装的应用程序自身的大小,而小于待安装的应用程序在安装时所需要占用的空间,则选取合适的已安装的应用程序进行卸载,释放相应的空间,同时保存卸载的应用程序的下载链接等信息,当待安装的应用程序安装完成后,按照之前记住的连接信息自动下载已卸载的应用程序。
本发明实施例还提供一种应用程序下载安装的装置30,如图3B所示,该装置30包括检测模块31、评估模块32、处理模块33。
检测模块31,用于检测系统下载的应用程序的相关数据,当有应用下载时启动此模块,检测的数据包括当前下载的应用程序的数量、每个应用程序下载的速度以及应用程序安装所要占用的空间信息,同时根据每个应用下载的速度预估相应应用程序下载完成的时间,并将每一应用程序下载完成的时间和安装所需的空间等数据发送给评估模块。此外,由于受到网络实时影响,下载速度是实时变化的,所以当速度有较大的变化时,比如,变化率超过20%,重新计算新的数据传递给评估模块,确保数据准确。
评估模块32,用于根据检测模块31发送的时间和空间需求,实时检测当前系统内存空间,评估当前内存空间是否满足安装要求,如果内存空间的绝对值大于所有待安装的应用程序在安装时所需要的空间大小的总和,则不需要进行处理,直接安装程序;如果内存空间的绝对值大于所有待安装的应用程序安装完成后的大小的总和,但小于所有待安装的应用程序在安装时所需要的空间大小,则根据时间和空间的需求对应用程序进行优先级的排序,并把优先级排序的结果发送给处理模块33,确保所有应用程序安装成功;如果内存空间的绝对值小于所有待安装的应用程序在安装完成后的大小的总和,则提示用户内存不足,同时提供给用户最大化安装应用程序的方案供用户选择,同时暂停所用应用程序的下载,等待用户选择的结果。
处理模块33,此模块根据评估模块32发送的优先级排序结果,对应用程序进行处理,处理包括:暂停某个应用程序的下载,判断哪些应用程序可以同时下载,判断哪些应用程序按照优先级顺序进行下载,判断哪些应用程序下载失败后重新启动下载并释放必要的空间,根据哪些应用需要卸载后再重新安装来释放必要的空间以及当内存空间不足以支撑所用应用程序下载安装时,给出合理建议安装方案供用户选择等。
在实际应用中,例如,应用程序在线安装需要其自身所占空间大小的两倍,如图3C所示,多个应用程序同时下载的方法如下:
步骤S311、接收下载应用程序的指令;
步骤S312、终端检测应用程序信息,检测的信息包括当前同时下载的应用程序的数量,每个应用程序的下载速度以及每个应用程序安装时所占用的空间,同时根据每个应用程序下载的速度预估对应的下载完成的时间,并把此时间和安装每个应用程序所需要的空间数据发送给评估模块。此外,由于受到网络实时影响,下载速度是实时变化的,所以当下载速度有较大的变动时,如变化率超过20%,则重新计算新的预估时间并发送给评估模块,以确保数据准确。
步骤S313、评估模块根据接收到的时间和空间需求,实时检测当前的内存空间,评估当前内存空间是否满足安装要求,如果内存空间的绝对值大于所有待安装的应用程序的安装所需的空间,即大于应用程序自身大小的两倍,则进入S316,如果内存空间的绝对值大于所有待安装的应用程序自身大小的总和,但小于所有待安装应用安装时所需的空间总和,即应用程序自身大小的两倍,则进入S314,如果内存空间的绝对值小于所有待安装的应用程序自身大小的总和,则进入S317。
步骤S314、根据S313中接收到的每个应用程序的时间和空间需求,对每个应用程序进行优先级排序,并给出优先级排序结果,进入S15。这里的优先级排序原则为:按照每一应用程序所占内存空间大小进行排序。例如,移动终端当前有1G的内存空间,同时下载一个500M和一个200M的应用程序,那么先下载500M的应用程序,然后再下载200M的应用程序,同时兼顾下载所需时间进行排序,例如,若当前移动终端内存空间为1.2G,如果判断两者的下载完成时间不冲突,也就是不会出现同时安装的现象,那么就可以以同一优先级同时下载;但是,如果两者下载完成时间是同时,也就是会同时开始安装,那么500M的应用程序需要1G的内存空间来安装,200M的应用程序需要400M的内存空间,两者同时安装则需要1.4G的内存空间,这时就不能满足同时安装的需求,需要分别排在不同的优先级进行下载。
步骤S315、根据步骤S34的优先级排序结果进行应用程序的安装,处理方式可以有如下几种:
1、暂停部分应用的下载,如存在1.1G空间,同时下载500M和200M的应用,那么允许200M的应用程序下载到100M时暂停下载,待500M的应用程序下载完成后再进行安装。
2、根据当前内存空间的大小,控制一部分应用程序可以同时下载,另一部分应用程序根据优先级顺序来下载。
3、部分应用程序下载失败后需要删除已下载的部分释放空间,并重新启动下载。例如,移动终端有1.1G的内存空间,先下载200M的应用程序,此时用户下载500M的应用程序,移动终端判断200M的应用程序已下载了105M,当前仅剩余995M的内存空间,而500M的应用程序下载安装需要1G的内存空间,那么,判定200M的应用程序下载失败,删除已下载的105M的内容并释放空间,重新下载到100M暂停,然后待500M的应用程序下载并安装完成后再继续下载剩余的100M。
步骤S316、按默认顺序正常下载并安装应用程序,这里是在判断移动终端的内存充足,大于要下载的全部应用程序安装所需的空间的总和,那么没有任何一个应用程序的安装会有冲突,所以无需进行优先级排序等操作,直接下载并安装即可。
步骤S317、给出合理的建议安装方案供用户选择。
例如,给出建议不进行安装的应用程序:当一个应用程序自身所占用的内存空间大于当前移动终端的内存空间,那么在不卸载其他已下载的应用程序的前提下,就不能成功下载,此时可以建议用户放弃下载安装这一应用程序。
或者当前移动终端内存空间不足的情况下,还可以建议用户卸载使用频率极低或者已经长时间没有使用过的应用程序。例如,给出卸载建议:卸载超过3个月没有使用过的应用程序。
在实际应用中,如果仅下载一个应用程序,如图3D所示,可以根据如下方法来实现:
步骤S321、终端接收用户的下载指令,下载应用程序;
步骤S322、终端检测应用程序信息,仅有一个应用程序的时候,检测数据包括该应用程序自身的大小以及安装时所需要占用的内存空间大小;
步骤S323、终端实时检测当前系统内存空间大小,评估当前内存容量是否满足安装要求,如果内存空间大小的绝对值大于安装应用程序时所需要占用的内存空间,则进入S326;如果内存空间大小的绝对值大于应用程序自身的大小,但小于安装应用所需要占用的内存空间,则进入S324,如果内存空间大小的绝对值小于应用程序自身的大小,进入S327。
步骤S324、根据缺少的内存容量选择合适的应用程序卸载以释放必要的空间,选择应用的原则可以是如下几个方面:
1、不常使用的应用程序,例如,用户在近3个月内没有使用过的应用程序;或者用户使用频率较低的应用程序。
2、选择应用程序的大小范围是:小于当前系统内存减去待安装的应用程序自身的大小,且大于待安装的应用程序在安装时时所需要占用的内存减去当前系统内存。例如,当前内存为900M,需要安装一个500M的应用程序,安装该应用程序时需要占用1G的内存,那么选择卸载应用的大小为100M至400M,如果小于100M,则500M的应用程序无法安装,如果大于400M,则卸载的应用程序无法再安装回去。
步骤S325、卸载所选择的应用程序,同时记住此应用程序的下载信息,如下载连接,待安装完当前应用程序后,自动下载安装卸载的应用程序。
步骤S326、正常下载安装应用程序;
步骤S327、给出内存不足无法安装的提示。
实施例四
本发明实施例还提供一种应用程序下载安装的装置400,该装置包括:
第一确定单元401,配置为确定下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间;
第二确定单元402,配置为根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级;
下载单元403,配置为根据所述每一应用程序的优先级,完成下载。
在其他实施例中,所述第二确定单元,还配置为:
根据所述每一应用程序的下载时间、应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级;其中,所述第一内存空间是应用程序安装时所需的内存空间,且所述第一内存空间不小于对应的应用程序安装完成后所需的第二内存空间。
在其他实施例中,所述第二确定单元,包括:
累加模块,配置为将所述下载列表中每一应用程序对应的第一内存空间进行累加,得到第一累加和;
确定模块,配置为当所述第一累加和不小于当前内存空间时,根据每一应用程序的下载时间、应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级。
在其他实施例中,所述确定模块,包括:
排序子模块,配置为根据所述每一应用程序的第二内存空间由大至小排序,得到排序列表;
累加子模块,配置为当所述排序列表的第N个应用程序与前N-1个中的M个应用程序的第二内存空间大小相同时,将所述第N个应用程序的第一内存空间与所述M个应用程序的第一内存空间进行累加,得到第二累加和;其中,所述N为大于等于2的自然数,M为大于等于1且小于N的自然数;
优先级子模块,配置为当所述第二累加和大于当前剩余内存空间时,将前N-1个应用程序排在一个优先级;
继续将所述排序列表中剩余的应用程序排在其他优先级。
在其他实施例中,所述装置还包括:
卸载单元,配置为当所述第一累加和大于当前内存空间时,卸载已有应用程序;
所述下载单元,还配置为当所述每一应用程序安装完成后,重新下载被卸载的所述已有应用程序。
在其他实施例中,所述装置还包括:
第三确定单元,配置为根据当前正在下载的应用程序的第二内存空间,确定所述当前正在下载的应用程序下载完成后剩余的内存空间;
累加单元,配置为将所述下载列表中待下载每一应用程序的所述第一内存空间进行累加,得到第三累加和;
暂停单元,配置为当所述剩余的内存空间不小于所述第三累加和时,暂停下载所述当前正在下载的应用程序,并通过所述下载单元下载所述待下载的应用程序;
所述下载单元,还配置为当所述待下载的应用程序下载并安装完成后,继续下载所述当前正在下载的应用程序。
在其他实施例中,所述装置还包括:
第一删除单元,配置为当所述剩余的内存空间小于所述第三累加和时,删除所述当前正在下载的应用程序;所述下载单元,还配置为下载所述待下载的应用程序;所述下载单元,还配置为在所述待下载的应用程序下载安装完成后,重新下载所述当前正在下载的应用程序;
或者,
第二删除单元,配置为当所述剩余的内存空间小于所述第三累加和时,删除所述当前正在下载的应用程序;所述下载单元,还配置为重新下载所述当前正在下载的应用程序;所述下载单元,还配置为在当前内存空间等于所述第三累加和时,暂停所述当前正在下载的应用程序,并下载所述待下载的应用程序。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的应用程序下载安装的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台应用程序下载安装的终端(可以是个人计算机、移动终端、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
对应地,本发明实施例提供一种应用程序下载安装的终端,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例提供的应用程序下载安装的方法中的步骤。
对应地,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的应用程序下载安装的方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明存储介质和设备实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
需要说明的是,图5为本发明实施例中应用程序下载安装的终端的一种硬件实体示意图,如图5所示,该应用程序下载安装的终端500的硬件实体包括:处理器501、通信接口502和存储器503,其中
处理器501通常控制计算机设备500的总体操作。
通信接口502可以使应用程序下载安装的终端通过网络与其他终端或服务器通信。
存储器503配置为存储由处理器501可执行的指令和应用,还可以缓存待处理器501以及应用程序下载安装的终端500中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台应用程序下载安装的终端设备(可以是个人计算机、手机等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种应用程序下载安装的方法,其特征在于,所述方法包括:
在当前内存空间不足时,确定下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间;
根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级;
根据所述每一应用程序的优先级,完成下载。
2.根据权利要求1所述的方法,其特征在于,所述根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级,包括:
根据所述每一应用程序的下载时间、应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级;其中,所述第一内存空间是应用程序安装时所需的内存空间,且所述第一内存空间不小于对应的应用程序安装完成后所需的第二内存空间。
3.根据权利要求2所述的方法,其特征在于,所述根据每一应用程序的下载时间和应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级,包括:
将所述下载列表中每一应用程序对应的第一内存空间进行累加,得到第一累加和;
当所述第一累加和不小于当前内存空间时,根据每一应用程序的下载时间、应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级。
4.根据权利要求3所述的方法,其特征在于,所述当所述第一累加和不小于当前内存空间时,根据每一应用程序的下载时间、应用程序所需的第一内存空间和第二内存空间,确定每一应用程序的优先级,包括:
根据所述每一应用程序的第二内存空间由大至小排序,得到排序列表;
当所述排序列表的第N个应用程序与前N-1个中的M个应用程序的第二内存空间大小相同时,将所述第N个应用程序的第一内存空间与所述M个应用程序的第一内存空间进行累加,得到第二累加和;其中,所述N为大于等于2的自然数,M为大于等于1且小于N的自然数;
当所述第二累加和大于当前剩余内存空间时,将前N-1个应用程序排在一个优先级;
继续将所述排序列表中剩余的应用程序排在其他优先级。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述第一累加和大于当前内存空间时,卸载已有应用程序;
当所述每一应用程序安装完成后,重新下载被卸载的所述已有应用程序。
6.根据权利要求2至5任一所述的方法,其特征在于,所述方法还包括:
根据当前正在下载的应用程序的第二内存空间,确定所述当前正在下载的应用程序下载完成后剩余的内存空间;
将所述下载列表中待下载每一应用程序的所述第一内存空间进行累加,得到第三累加和;
当所述剩余的内存空间不小于所述第三累加和时,暂停下载所述当前正在下载的应用程序,并下载所述待下载的应用程序;
当所述待下载的应用程序下载并安装完成后,继续下载所述当前正在下载的应用程序。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述剩余的内存空间小于所述第三累加和时,删除所述当前正在下载的应用程序,并下载所述待下载的应用程序;在所述待下载的应用程序下载安装完成后,重新下载所述当前正在下载的应用程序;
或者,
当所述剩余的内存空间小于所述第三累加和时,删除所述当前正在下载的应用程序,并重新下载所述当前正在下载的应用程序;在当前内存空间等于所述第三累加和时,暂停所述当前正在下载的应用程序,并下载所述待下载的应用程序。
8.一种应用程序下载安装的装置,其特征在于,所述装置包括:
第一确定单元,配置为在当前内存空间不足时,确定下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间;
第二确定单元,配置为根据所述下载列表中每一应用程序的下载时间和对应的应用程序所需的内存空间,确定每一应用程序的优先级;
下载单元,配置为根据所述每一应用程序的优先级,完成下载。
9.一种实现应用程序下载安装的终端,其特征在于,所述终端包括:存储器、处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项提供的应用程序下载安装的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求1至7任一项提供的应用程序下载安装的方法。
CN201811191657.5A 2018-10-12 2018-10-12 一种应用程序下载安装的方法及装置、终端、存储介质 Pending CN111045691A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811191657.5A CN111045691A (zh) 2018-10-12 2018-10-12 一种应用程序下载安装的方法及装置、终端、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811191657.5A CN111045691A (zh) 2018-10-12 2018-10-12 一种应用程序下载安装的方法及装置、终端、存储介质

Publications (1)

Publication Number Publication Date
CN111045691A true CN111045691A (zh) 2020-04-21

Family

ID=70229847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811191657.5A Pending CN111045691A (zh) 2018-10-12 2018-10-12 一种应用程序下载安装的方法及装置、终端、存储介质

Country Status (1)

Country Link
CN (1) CN111045691A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113691823A (zh) * 2021-08-19 2021-11-23 北京百度网讯科技有限公司 资源文件的处理方法、装置、设备、存储介质及程序产品

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113691823A (zh) * 2021-08-19 2021-11-23 北京百度网讯科技有限公司 资源文件的处理方法、装置、设备、存储介质及程序产品

Similar Documents

Publication Publication Date Title
CN111176669B (zh) 云应用的安装启动方法、云流化服务器及存储服务器
KR100915564B1 (ko) 실행하는 동안 애플리케이션을 업그레이드하기 위한 방법,소프트웨어 및 장치
CN103324507A (zh) 一种终端预置应用程序更新的方法和装置
CN107493290B (zh) Android智能电视系统软件进行OTA升级的方法
EP2195741A1 (en) Firmware image update and management
CN104166577B (zh) 一种移动终端系统升级的方法和装置
CN107368343B (zh) 一种基于安卓系统的终端开机方法、终端及存储介质
CN103685495A (zh) 软件的升级方法和系统
US20100268867A1 (en) Method and apparatus for updating firmware as a background task
CN107329792B (zh) 一种Docker容器启动方法及装置
JP2007528534A (ja) システムソフトウェア更新サービスを通知するためのローダの利用
CN110737453A (zh) 安全芯片的升级方法、装置及安全芯片
CN112473144A (zh) 游戏资源数据的处理方法及装置
CN103997684A (zh) 一种更新操作系统方法和装置
CN114780019A (zh) 电子设备的管理方法、装置、电子设备及存储介质
CN111045691A (zh) 一种应用程序下载安装的方法及装置、终端、存储介质
CN112416411A (zh) 升级方法及装置、设备端、服务器、计算机可读介质
CN107396185B (zh) 升级方法及系统
CN106708569B (zh) 一种跨线列车中vobc配置文件的热加载方法及装置
CN110780944B (zh) 一种应用权限的启动方法、设备及机器可读存储介质
CN107436783B (zh) 一种用于移动终端的差分升级方法、存储介质及移动终端
CN114895934A (zh) 一种程序管理方法及装置、设备、存储介质
CN113867823A (zh) 车载终端配置参数的设置方法、装置及电子设备
CN110673942B (zh) 一种云平台的异步进程结束方法、装置及云平台服务器
CN105278993A (zh) 一种基于Linux系统的驱动模块升级方法及装置

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