程序加载的方法及装置与流程

文档序号:12362975阅读:259来源:国知局
程序加载的方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种程序加载的方法及装置。



背景技术:

在程序启动的过程中,当用户下达的程序启动命令时,系统会把程序加载进内存,加载完毕后程序在内存中开始运行并响应用户的操作。而从用户实际操作的角度来看,从用户下到程序启动命令到应用程序启动后响应用户操作这一过程,需要一段不短的等待时间,造成卡顿现象的出现,影响用户操作的连贯性。



技术实现要素:

有鉴于此,本发明实施例提供了一种程序加载的方法及装置,能够一定程度上缩短了用户在启动命令下发到感知到应用程序启动之间的时间,有效缓解了卡顿现象,提高了用户操作的连贯性。

一方面,本发明实施例提供了一种一种程序加载的方法,所述方法包括:

判断当前空闲内存占总内存的比例是否超过预定比例;

当所述当前空闲内存占总内存的比例超过预定比例时,将当前时间段内预设权重最高的未加载应用程序加载入所述空闲内存中;其中,所述预设权重用于表示未加载应用程序在所述当前时间段内使用频率;

在接收到用户用于启动已加载在内存中的应用程序的启动命令时,直接启动所述启动命令需启动的应用程序。

另一方面,本发明实施例还提供了一种程序加载的装置,所述装置包括:

判断单元,用于判断当前空闲内存占总内存的比例是否超过预定比例;

加载单元,用于当所述当前空闲内存占总内存的比例超过预定比例时,将当前时间段内预设权重最高的未加载应用程序加载入所述空闲内存中;其中,所述预设权重用于表示未加载应用程序在所述当前时间段内使用频率;

启动单元,用于在接收到用户用于启动已加载在内存中的应用程序的启动命令时,直接启动所述启动命令需启动的应用程序。

本发明实施例提供的一种程序加载的方法及装置,通过为每个应用程序设置预设权重,并在当前内存空间允许的情况下,选择权重最高(即使用频率最高)的应用程序在用户并未要求启动之前就加载入内存中,使得用户在下发启动命令时,操作系统可以第一时间响应用户命令,直接启动以加载入内存中的应用程序。一定程度上缩短了用户在启动命令下发到感知到应用程序启动之间的时间,有效缓解了卡顿现象,提高了用户操作的连贯性。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例提供的一种程序加载的方法流程图;

图2是本发明实施例提供的另一种程序加载的方法流程图;

图3是本发明实施例提供的另一种程序加载的方法流程图;

图4是本发明实施例提供的一种程序加载的装置的组成框图;

图5是本发明实施例提供的另一种程序加载的装置的组成框图;

图6是本发明实施例提供的另一种程序加载的装置的组成框图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

本发明实施例提供了一种程序加载的方法,适用于各类操作系统中,如图1所示,该方法包括:

101、判断当前空闲内存占总内存的比例是否超过预定比例。

其中,此处描述的预定比例的设定以不影响当前已加载入内存中应用程序的正常运行为原则。

102、当所述当前空闲内存占总内存的比例超过预定比例时,将当前时间段内预设权重最高的未加载应用程序加载入所述空闲内存中。

其中,所述预设权重用于表示应用程序在所述当前时间段内使用频率。可以理解为,预设权重越高,表示应用程序可能在当前时间段内的使用频率越高,反之,预设权重越低,表示应用程序可能在当前时间段内的使用频率越低。

预设权重的设定将在后续实施例中具体描述,在此不做过多陈述。

103、在接收到用户用于启动已加载在内存中的应用程序的启动命令时,直接启动所述启动命令需启动的应用程序。

本发明实施例提供的一种程序加载的方法,通过为每个应用程序设置预设权重,并在当前内存空间允许的情况下,选择权重最高(即使用频率最高)的应用程序在用户并未要求启动之前就加载入内存中,使得用户在下发启动命令时,操作系统可以第一时间响应用户命令,直接启动以加载入内存中的应用程序。一定程度上缩短了用户在启动命令下发到感知到应用程序启动之间的时间,有效缓解了卡顿现象,提高了用户操作的连贯性。

进一步来说,在前述方法流程的基础上,为了有效保证已加载入内存并正在运行的应用程序的可靠性和稳定性,以及可能的用户需求变更,需要保证用一定量的空闲内存留作备用,因此,在执行步骤101之后,如图2所示,该方法还包括:

104、当所述当前空闲内存占总内存的比例未超过预定比例时,从内存中将在当前时间段内预设权重最低的应用程序清除。

需要说明的是,前述步骤101至104可执行于任意时刻,并执行任意次数,即只要当前空闲内存占总内存的比例满足前述大小关系,则可执行相应流程,可以理解为,当执行步骤102或步骤104之后,则可重新执行步骤101来判断当前空闲内存占总内存的比例是否超过预定比例,若当前空闲内存占总内存的比例仍超过预定比例,则还可执行步骤102,依次类推直至当前空闲内存占总内存的比例不再超过预定比例。同时,在此过程中,若当前空闲内存占总内存的比例不再超过预定比例时,则可执行步骤104来清除内存中预设权重最低的应用程序,直至当前空闲内存占总内存的比例不再低于预定比例。如此往复,以保证预设权重较高(即被使用可能性较高)的应用程序可保持在内存中,同时适当清除掉预设权重较低(即被使用可能性较低)的应用程序。

结合于前述描述,在执行步骤101之前判断当前空闲内存占总内存的比例是否超过预定比例之前,如图3所示,本发明实施例在此还提供了有关预设权重的设置方式,具体包括:

201、将一天的时间划分为若干个时间段。

其中,时间段跨度的划分可以根据实际需要进行设定。若用户对于应用程序启动比较频繁,则可设置得小一些,反之则可以设置得大一些。

202、统计在每个时间段内所有应用程序各自的使用频率。

203、按照使用频率从小到大的顺序,依次为相应的应用程序分配从小到大的预设权重。

本发明实施例提供了一种程序加载的装置,可用于实施前述各方法流程,其组成如图4所示,所述装置包括:

判断单元31,用于判断当前空闲内存占总内存的比例是否超过预定比例。

加载单元32,用于当所述当前空闲内存占总内存的比例超过预定比例时,将当前时间段内预设权重最高的未加载应用程序加载入所述空闲内存中;其中,所述预设权重用于表示未加载应用程序在所述当前时间段内使用频率。

启动单元33,用于在接收到用户用于启动已加载在内存中的应用程序的启动命令时,直接启动所述启动命令需启动的应用程序。

可选的是,如图5所示,该装置还包括:

清除单元34,用于当所述当前空闲内存占总内存的比例未超过预定比例时,从内存中将在当前时间段内预设权重最低的应用程序清除。

可选的是,如图6所示,该装置还包括:

划分单元35,用于将一天的时间划分为若干个时间段;

统计单元36,用于统计在每个时间段内所有应用程序各自的使用频率;

分配单元37,用于按照使用频率从小到大的顺序,依次为相应的应用程序分配从小到大的预设权重。

本发明实施例提供的一种程序加载的装置,通过为每个应用程序设置预设权重,并在当前内存空间允许的情况下,选择权重最高(即使用频率最高)的应用程序在用户并未要求启动之前就加载入内存中,使得用户在下发启动命令时,操作系统可以第一时间响应用户命令,直接启动以加载入内存中的应用程序。一定程度上缩短了用户在启动命令下发到感知到应用程序启动之间的时间,有效缓解了卡顿现象,提高了用户操作的连贯性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1