应用预加载方法及装置.pdf

上传人:GAME****980 文档编号:6200622 上传时间:2019-05-20 格式:PDF 页数:15 大小:932.85KB
返回 下载 相关 举报
摘要
申请专利号:

CN201610256360.7

申请日:

2016.04.22

公开号:

CN105955765A

公开日:

2016.09.21

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/445申请日:20160422|||公开

IPC分类号:

G06F9/445

主分类号:

G06F9/445

申请人:

北京小米移动软件有限公司

发明人:

王舒捷; 孙念; 吴俊洲

地址:

100085 北京市海淀区清河中街68号华润五彩城购物中心二期9层01房间

优先权:

专利代理机构:

北京三高永信知识产权代理有限责任公司 11138

代理人:

鞠永善

PDF下载: PDF下载
内容摘要

本公开提供了一种应用预加载方法及装置,属于终端技术领域。所述方法包括:接收场景切换指令,所述场景切换指令用于指示从第一用户切换活动Activity切换至第二Activity;对所述第一Activity暂停处理;在所述第一Activity的暂停处理过程中,获取所述第二Activity的预加载类列表,基于空闲计算资源,启动至少一个线程对所述第二Activity的预加载类列表中的类进行加载;其中,所述第二Activity的预加载类列表包括至少一个所述第二Activity在历史运行过程中所使用到的类。本公开通过在场景切换时,在对切换前的第一Activity进行暂停处理时,利用空闲资源,对切换后的场景所可能使用到的类提前进行加载,从而节约了真正使用这些类时所需消耗的时间,提高了应用的运行速度。

权利要求书

1.一种应用预加载方法,其特征在于,所述方法包括:
接收场景切换指令,所述场景切换指令用于指示从第一用户切换活动
Activity切换至第二Activity;
对所述第一Activity暂停处理;
在所述第一Activity的暂停处理过程中,获取所述第二Activity的预加载类
列表,基于空闲计算资源,启动至少一个线程对所述第二Activity的预加载类列
表中的类进行加载;
其中,所述第二Activity的预加载类列表包括至少一个所述第二Activity在
历史运行过程中所使用到的类。
2.根据权利要求1所述的方法,其特征在于,所述接收场景切换指令之前,
所述方法还包括:
在所述第二Activity的运行过程中,记录所述运行过程中所使用到的类,生
成所述第二Activity的预加载类列表。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述第二Activity所属应用的版本更新后,根据更新版本中所述第二
Activity的运行过程,重新生成所述第二Activity的预加载类列表。
4.根据权利要求1所述的方法,其特征在于,基于空闲计算资源,启动至
少一个线程对所述第二Activity的预加载类列表中的类进行加载包括:
如果所述空闲计算资源不能满足所述第二Activity的预加载类列表中的类
的加载需求,按照各个类在运行过程中的使用先后顺序,确定所述第二Activity
的预加载类列表中的目标类;
启动至少一个线程对所述第二Activity的预加载类列表中的目标类进行加
载。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一Activity
为桌面Activity,所述第二Activity为任一个应用程序的主Activity;或,所述第
一Activity与所述第二Activity属于同一个应用程序;或,所述第一Activity属
于第一应用程序,所述第二Activity属于第二应用程序。
6.一种应用预加载装置,其特征在于,所述装置包括:
接收模块,用于接收场景切换指令,所述场景切换指令用于指示从第一用
户切换活动Activity切换至第二Activity;
暂停模块,用于对所述第一Activity暂停处理;
获取模块,用于在所述第一Activity的暂停处理过程中,获取所述第二
Activity的预加载类列表;
加载模块,用于基于空闲计算资源,启动至少一个线程对所述第二Activity
的预加载类列表中的类进行加载;
其中,所述第二Activity的预加载类列表包括至少一个所述第二Activity在
历史运行过程中所使用到的类。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括列表生成模
块,用于在所述第二Activity的运行过程中,记录所述运行过程中所使用到的类,
生成所述第二Activity的预加载类列表。
8.根据权利要求7所述的装置,其特征在于,所述列表生成模块,还用于
当所述第二Activity所属应用的版本更新后,根据更新版本中所述第二Activity
的运行过程,重新生成所述第二Activity的预加载类列表。
9.根据权利要求6所述的装置,其特征在于,所述第二加载模块用于如果
所述空闲计算资源不能满足所述第二Activity的预加载类列表中的类的加载需
求,按照各个类在运行过程中的使用先后顺序,确定所述第二Activity的预加载
类列表中的目标类;启动至少一个线程对所述第二Activity的预加载类列表中的
目标类进行加载。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述第一Activity
为桌面Activity,所述第二Activity为任一个应用程序的主Activity;或,所述第
一Activity与所述第二Activity属于同一个应用程序;或,所述第一Activity属
于第一应用程序,所述第二Activity属于第二应用程序。
11.一种应用预加载装置,其特征在于,包括:
多核处理器;
用于存储所述多核处理器可执行的指令的存储器;
其中,所述多核处理器被配置为:
接收场景切换指令,所述场景切换指令用于指示从第一用户切换活动
Activity切换至第二Activity;
对所述第一Activity暂停处理;
在所述第一Activity的暂停处理过程中,获取所述第二Activity的预加载类
列表,基于空闲计算资源,启动至少一个线程对所述第二Activity的预加载类列
表中的类进行加载;
其中,所述第二Activity的预加载类列表包括至少一个所述第二Activity在
历史运行过程中所使用到的类。

说明书

应用预加载方法及装置

技术领域

本公开涉及终端技术领域,尤其涉及一种应用预加载方法及装置。

背景技术

随着智能终端的发展,智能终端的功能越来越强大,用户对智能终端的性
能要求也越来越高。智能终端的性能可以体现在多个方面,最突出的在于智能
终端上所安装应用的运行上,例如,使用应用时应用界面刷新的帧率,启动应
用时的加载速度等等,均已经成为衡量智能终端性能的重要方面。因此,亟需
一种能够提高应用运行速度的应用预加载方法。

发明内容

为了克服相关技术中存在的问题,本公开提供一种应用预加载方法及装置。

根据本公开实施例的第一方面,提供一种应用预加载方法,包括:

接收场景切换指令,所述场景切换指令用于指示从第一用户切换活动
Activity切换至第二Activity;对所述第一Activity暂停处理;在所述第一Activity
的暂停处理过程中,获取所述第二Activity的预加载类列表,基于空闲计算资源,
启动至少一个线程对所述第二Activity的预加载类列表中的类进行加载;其中,
所述第二Activity的预加载类列表包括至少一个所述第二Activity在历史运行过
程中所使用到的类。上述技术方案,通过在场景切换时,在对切换前的第一
Activity进行暂停处理时,利用空闲资源,对切换后的场景所可能使用到的类提
前进行加载,这种在暂停处理过程中,采用并行的方式,启动至少一个线程加
载后续可能会使用到的类的方式,使得在接下来的运行过程中,如果需要使用
已预加载的某个类,终端如果发现这个类已经被加载,也即是已经初始化,则
可以直接跳过这个类的初始化流程,从而加快了整体执行速度,节约了真正使
用这些类时所需消耗的时间,提高了应用的运行速度。

在第一方面的第一种可能实现方式中,所述接收场景切换指令之前,所述
方法还包括:在所述第二Activity的运行过程中,记录所述运行过程中所使用到
的类,生成所述第二Activity的预加载类列表。在实际运行中生成预加载类列表,
可以适应于用户的实际使用习惯,提高预加载的准确度。

在第一方面的第二种可能实现方式中,所述方法还包括:当所述第二Activity
所属应用的版本更新后,根据更新版本中所述第二Activity的运行过程,重新生
成所述第二Activity的预加载类列表。在版本更新时重新生成预加载类列表,可
以提高预加载的准确度。

在第一方面的第三种可能实现方式中,所述方法还包括:基于空闲计算资
源,启动至少一个线程对所述第二Activity的预加载类列表中的类进行加载包
括:如果所述空闲计算资源不能满足所述第二Activity的预加载类列表中的类的
加载需求,按照各个类在运行过程中的使用先后顺序,确定所述第二Activity的
预加载类列表中的目标类;启动至少一个线程对所述第二Activity的预加载类列
表中的目标类进行加载。按照使用先后顺序,对类进行加载,提高了预加载的
准确度,能够提高应用的运行速度。

基于上述任一种可能实现方式,在第一方面的第三种可能实现方式中,所
述方法还包括:所述第一Activity与所述第二Activity属于同一个应用程序;或,
所述第一Activity属于第一应用程序,所述第二Activity属于第二应用程序。该
方法可以适用于从一个应用切换至另一个应用的场景,还可以适用于应用内界
面切换的场景。

根据本公开实施例的第二方面,提供一种应用预加载装置,包括:

接收模块,用于接收场景切换指令,所述场景切换指令用于指示从第一用
户切换活动Activity切换至第二Activity;

暂停模块,用于对所述第一Activity暂停处理;

获取模块,用于在所述第一Activity的暂停处理过程中,获取所述第二
Activity的预加载类列表;

加载模块,用于基于空闲计算资源,启动至少一个线程对所述第二Activity
的预加载类列表中的类进行加载;

其中,所述第二Activity的预加载类列表包括至少一个所述第二Activity在
历史运行过程中所使用到的类。

上述技术方案,通过在场景切换时,在对切换前的第一Activity进行暂停处
理时,利用空闲资源,对切换后的场景所可能使用到的类提前进行加载,这种
在暂停处理过程中,采用并行的方式,启动至少一个线程加载后续可能会使用
到的类的方式,使得在接下来的运行过程中,如果需要使用已预加载的某个类,
终端如果发现这个类已经被加载,也即是已经初始化,则可以直接跳过这个类
的初始化流程,从而加快了整体执行速度,节约了真正使用这些类时所需消耗
的时间,提高了应用的运行速度。

在第二方面的第一种可能实现方式中,所述装置还包括列表生成模块,用
于在所述第二Activity的运行过程中,记录所述运行过程中所使用到的类,生成
所述第二Activity的预加载类列表。

在第二方面的第二种可能实现方式中,所述列表生成模块,还用于当所述
第二Activity所属应用的版本更新后,根据更新版本中所述第二Activity的运行
过程,重新生成所述第二Activity的预加载类列表。

在第二方面的第三种可能实现方式中,所述第二加载模块用于如果所述空
闲计算资源不能满足所述第二Activity的预加载类列表中的类的加载需求,按照
各个类在运行过程中的使用先后顺序,确定所述第二Activity的预加载类列表中
的目标类;启动至少一个线程对所述第二Activity的预加载类列表中的目标类进
行加载。

结合上述任一种可能实现方式,在第二方面的第四种可能实现方式中,所
述第一Activity与所述第二Activity属于同一个应用程序;或,所述第一Activity
属于第一应用程序,所述第二Activity属于第二应用程序。

根据本公开实施例的第三方面,提供一种应用预加载装置,包括:

多核处理器;用于存储多核处理器可执行的指令的存储器;其中,所述多
核处理器被配置为:接收场景切换指令,所述场景切换指令用于指示从第一用
户切换活动Activity切换至第二Activity;对所述第一Activity暂停处理;在所
述第一Activity的暂停处理过程中,获取所述第二Activity的预加载类列表,基
于空闲计算资源,启动至少一个线程对所述第二Activity的预加载类列表中的类
进行加载;其中,所述第二Activity的预加载类列表包括至少一个所述第二
Activity在历史运行过程中所使用到的类。上述技术方案,通过在场景切换时,
在对切换前的第一Activity进行暂停处理时,利用空闲资源,对切换后的场景所
可能使用到的类提前进行加载,这种在暂停处理过程中,采用并行的方式,启
动至少一个线程加载后续可能会使用到的类的方式,使得在接下来的运行过程
中,如果需要使用已预加载的某个类,终端如果发现这个类已经被加载,也即
是已经初始化,则可以直接跳过这个类的初始化流程,从而加快了整体执行速
度,节约了真正使用这些类时所需消耗的时间,提高了应用的运行速度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,
并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开
的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种应用预加载方法的流程图;

图2是根据一示例性实施例示出的一种应用预加载方法的流程图;

图3是根据一示例性实施例示出的一种应用预加载装置框图;

图4是根据一示例性实施例示出的另一种应用预加载装置框图;

图5是根据一示例性实施例示出的一种应用预加载装置500的框图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开
实施方式作进一步地详细描述。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描
述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。
以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方
式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一
致的装置和方法的例子。

用户切换活动(Activity)是Android平台的一种标准组件。实际上一个
Activity就是应用中的一个单一的屏幕,它继承自Activity类,它将显示由Views
组成的UI(User Interface,用户界面)以及响应事件。

本领域技术人员可以获知,一个应用Activity的生命周期包括:启动一个
Activity时,Activity()的构造函数执行完毕后,系统调用onCreate()方法,在这
里设置Activity的全局状态和资源,然后调用onStart()方法,在这个方法执行完
毕,Activity在屏幕中可见。执行onResume()方法,这个时候Activity在一个loop
循环中的等待窗口事件。当窗口部分可见时,也就是说Activity不是在最前端时,
Activity的onFreeze()方法被调用,这个方法保存Activity一些内部状态。然后窗
口暂停,直到Activity又出现在最前端,activity的onResume()方法被调用。如
果Activity窗口不可见,则说明Activity的onStop()方法被调用,直到覆盖Activity
的窗口关闭时,activity的onRestart()方法开始调用,然后重复onStart()方法。当
系统回收资源或者Activity被调用finish()方法时,Activity停止,调用onDestroy()
释放Activity拥有的资源。

图1是根据一示例性实施例示出的一种应用预加载方法的流程图,如图1
所示,应用预加载方法用于终端中,包括以下步骤。

在步骤101中,接收场景切换指令,所述场景切换指令用于指示从第一用
户切换活动Activity切换至第二Activity。

在步骤102中,对所述第一Activity暂停处理。

在步骤103中,在所述第一Activity的暂停处理过程中,获取所述第二
Activity的预加载类列表,基于空闲计算资源,启动至少一个线程对所述第二
Activity的预加载类列表中的类进行加载,其中,所述第二Activity的预加载类
列表包括至少一个所述第二Activity在历史运行过程中所使用到的类。

上述技术方案,通过在场景切换时,在对切换前的第一Activity进行暂停处
理时,利用空闲资源,对切换后的场景所可能使用到的类提前进行加载,这种
在暂停处理过程中,采用并行的方式,启动至少一个线程加载后续可能会使用
到的类的方式,使得在接下来的运行过程中,如果需要使用已预加载的某个类,
终端如果发现这个类已经被加载,也即是已经初始化,则可以直接跳过这个类
的初始化流程,从而加快了整体执行速度,节约了真正使用这些类时所需消耗
的时间,提高了应用的运行速度。

在一种可能实现方式中,所述接收场景切换指令之前,所述方法还包括:

在所述第二Activity的运行过程中,记录所述运行过程中所使用到的类,生
成所述第二Activity的预加载类列表。

在一种可能实现方式中,所述方法还包括:

当所述第二Activity所属应用的版本更新后,根据更新版本中所述第二
Activity的运行过程,重新生成所述第二Activity的预加载类列表。

在一种可能实现方式中,基于空闲计算资源,启动至少一个线程对所述第
二Activity的预加载类列表中的类进行加载包括:

如果所述空闲计算资源不能满足所述第二Activity的预加载类列表中的类
的加载需求,按照各个类在运行过程中的使用先后顺序,确定所述第二Activity
的预加载类列表中的目标类;

启动至少一个线程对所述第二Activity的预加载类列表中的目标类进行加
载。

在一种可能实现方式中,所述第一Activity与所述第二Activity属于同一个
应用程序;或,所述第一Activity属于第一应用程序,所述第二Activity属于第
二应用程序。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在
此不再一一赘述。

图2是根据一示例性实施例示出的一种应用预加载方法的流程图,如图2
所示,应用预加载方法用于终端中,包括以下步骤。

在步骤201中,在第二Activity的运行过程中,记录运行过程中所使用到类,
生成该第二Activity的预加载类列表,该第二Activity的预加载类列表包括至少
一个该第二Activity在历史运行过程中所使用到的类。

其中,该第二Activity可以是指任一个应用中的任一个Activity,本公开实
施例对此不做限制。该记录以及生成预加载类列表的过程,可以是在该应用安
装后第一次运行时进行,也可以是在应用的每一次运行时均进行,可以根据每
一次运行时第二Activity所使用到的类不断完善该预加载列表,如,在第一次运
行时,第二Activity加载了类A1至A5,在第N次运行时,第二Activity又加
载了类B1至B3,则可以将类B1至B3添加至预加载列表,以达到最佳的预加
载效果。

在本公开实施例中,仅以预加载类列表是本地生成并存储于本地为例进行
说明,而在实际应用中,该预加载类列表还可以是一个由网络侧提供的通用的
预加载类列表,由终端从网络侧获取并存储于本地。

进一步地,在应用运行过程中,还可以基于实际运行情况,对该本地已存
储的预加载类列表进行调整,以使得预加载过程更加符合用户的实际使用习惯。
其中,从网络侧获取预加载类列表的时机可以有多种情况,与上述生成时机类
似,本公开实施例对此不作具体限定。

在一种可能实现方式中,应用版本会不时发生更新,因此,为了保证预加
载的准确性,当该第二Activity所属应用的版本更新后,根据更新版本中该第二
Activity的运行过程,重新生成该第二Activity的预加载类列表。对于一个Activity
来说,新版本与原有版本共同的Activity中新增或减少了某些类,针对这种情况,
为了实现加速后续运行以及空间和成本的需求,需要为Activity生成新的预加载
类列表。而由于更新版本一般会包含不同的功能,因此,还可能出现的情况可
以包括:(1)更新版本不包含原有版本的某些Activity,针对这种情况,为了节
约空间和加载成本,需要将原有Activity对应的预加载类列表删除。(2)新版本
包含原有版本中没有的新Activity,针对这种情况,为了实现加速后续运行,需
要为新Activity生成预加载类列表。(3)更新版本与原有版本具有相同的一些
Activity,但是这些Activity会用到的类发生了增加或删除的变化,因此,需要
为应用的Activity重新生成预加载类列表。

当然,上述三种情况可能并发,此时可以应用上述对应的更新方法为更新
版本应用中发生变化的Activity重新生成新的预加载类列表。

在步骤202中,接收场景切换指令,该场景切换指令用于指示从第一用户
切换活动Activity切换至第二Activity。

在本公开的一个实施例中,该场景切换指令可以是由用户在系统桌面上对
任一应用程序图标的点击操作触发,所述第一Activity为桌面Activity,所述第
二Activity为任一个应用程序的主Activity。也即是,上述接收到的场景切换指
令事实上用于启动某一个应用程序。

在本公开的一个实施例中,该场景切换指令可以是由用户在某一应用界面
上对按钮的点击操作触发,该第一Activity与该第二Activity属于同一个应用程
序,也即是,上述接收到的场景切换指令事实上用于在一个应用程序内进行界
面跳转,

在本公开的另一个实施例中,该场景切换指令可以是由用户在某一应用界
面上对另一应用界面的跳转操作触发,例如,在某一应用界面上点击跳转至另
一应用界面的按钮。该第一Activity属于第一应用程序,该第二Activity属于第
二应用程序,一般地,在应用程序之间进行跳转时,该第二Activity可以是指应
用程序的主Activity,本公开对此不做具体限定。

在步骤203中,对第一Activity暂停处理。

该进行暂停处理的线程可以是由多核终端的任一个核启动。第二Activity可
以包含多个类,也即是第二Activity的全局状态和资源,加载第二Activity所包
含的类之后,可以实现第二Activity的前台运行。

在步骤204中,在该第一Activity的暂停处理过程中,获取该第二Activity
的预加载类列表,基于空闲计算资源,启动至少一个线程对该第二Activity的预
加载类列表中的类进行加载。

由于在该第一Activity的暂停处理过程中,终端内可能存在一些处于闲置状
态的计算资源,为了在提高应用运行速度的同时提高资源利用率,可以将这些
空闲计算资源利用起来,以便提高处理器的利用率。该至少一个线程可以是由
多核终端的上述已启动线程所占用的核以外的任一个核启动。

上述预加载类列表中可以包括该第二Activity所属应用在历史运行过程中
所使用到的类,具体地,还可以仅包括第二Activity在历史运行过程中所使用到
的类,本公开对此不做具体限定。

当该第一Activity为桌面Activity,所述第二Activity为任一个应用程序的
主Activity时,在对第一Activity暂停处理后,还可以启动应用进程对应用的运
行环境进行初始化工作,该初始化工作通常会比应用已经启动后的Activity切换
过程耗费更多时间,因此,在所述第一Activity的暂停处理并对应用进行初始化
的过程中,进行步骤204的第二Activity的预加载类列表加载过程,能够加载更
多的类,使得后续应用的运行速度提升效果更好。

当然,对于多核终端来说,并不一定是除了进行暂停处理的线程所占用的
核以外的核均处于闲置状态,因此,在一种可能实现方式中,基于空闲计算资
源,启动至少一个线程对该第二Activity的预加载类列表中的类进行加载包括:
如果该空闲计算资源不能满足该第二Activity的预加载类列表中的类的加载需
求,按照各个类在运行过程中的使用先后顺序,确定该第二Activity的预加载类
列表中的目标类;启动至少一个线程对该第二Activity的预加载类列表中的目标
类进行加载。终端可以判断当前处于闲置状态的核是否能够加载整个列表,如
果不能,则获取一定的类进行加载,例如,按照使用时间进行加载,或在其他
实施例中,还可以按照使用频率加载,本公开不做具体限定。

需要说明的是,上述应用加载方法可以应用于任一种应用,且这个加载方
法无需第三方应用进行适配,可以大大提高终端上所安装应用的启动速度和应
用速度。

上述技术方案,通过在场景切换时,在对切换前的第一Activity进行暂停处
理时,利用空闲资源,对切换后的场景所可能使用到的类提前进行加载,这种
在启动第一线程进行第二Activity所包含的类的加载的同时,采用并行的方式,
启动至少一个线程加载后续可能会使用到的类的方式,使得在接下来的运行过
程中,如果需要使用已预加载的某个类,终端如果发现这个类已经被加载,也
即是已经初始化,则可以直接跳过这个类的初始化流程,从而加快了整体执行
速度,节约了真正使用这些类时所需消耗的时间,提高了应用的运行速度。

图3是根据一示例性实施例示出的一种应用预加载装置框图。参照图3,该
装置包括接收模块301,暂停模块302、获取模块303和加载模块304。

接收模块301,用于接收场景切换指令,所述场景切换指令用于指示从第一
用户切换活动Activity切换至第二Activity;

暂停模块302,用于对所述第一Activity暂停处理;

获取模块303,用于在加载所述第二Activity所包含类的同时,获取所述第
二Activity的预加载类列表;

加载模块304,用于在所述第一Activity的暂停处理过程中,获取所述第二
Activity的预加载类列表;

其中,所述第二Activity的预加载类列表包括至少一个所述第二Activity在
历史运行过程中所使用到的类。

在一种可能实现方式中,参见图4,在上述图3结构的基础上,所述装置还
包括列表生成模块305,用于在所述第二Activity的运行过程中,记录所述运行
过程中所使用到的类,生成所述第二Activity的预加载类列表。

在一种可能实现方式中,所述列表生成模块305,还用于当所述第二Activity
所属应用的版本更新后,根据更新版本中所述第二Activity的运行过程,重新生
成所述第二Activity的预加载类列表。

在一种可能实现方式中,所述第二加载模块304用于如果所述空闲计算资
源不能满足所述第二Activity的预加载类列表中的类的加载需求,按照各个类在
运行过程中的使用先后顺序,确定所述第二Activity的预加载类列表中的目标
类;启动至少一个线程对所述第二Activity的预加载类列表中的目标类进行加
载。

在一种可能实现方式中,所述第一Activity为桌面Activity,所述第二Activity
为任一个应用程序的主Activity;或,所述第一Activity与所述第二Activity属
于同一个应用程序;或,所述第一Activity属于第一应用程序,所述第二Activity
属于第二应用程序。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关
该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5是根据一示例性实施例示出的一种应用预加载装置500的框图。例如,
装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制
台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器
504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口
512,传感器组件514,以及通信组件516。

处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数
据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个多核
处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组
件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。
例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件
502之间的交互。

存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些
数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人
数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失
性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),
电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),
可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,
磁盘或光盘。

电源组件506为装置500的各种组件提供电力。电源组件506可以包括电
源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相
关联的组件。

多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏
幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如
果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。
触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。
所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸
或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一
个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频
模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄
像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能
力。

音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括
一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音
识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进
一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件
510还包括一个扬声器,用于输出音频信号。

I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口
模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音
量按钮、启动按钮和锁定按钮。

传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的
状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件
的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还
可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存
在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514
可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存
在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于
在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传
感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通
信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们
的组合。在一个示例性实施例中,通信部件516经由广播信道接收来自外部广
播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部
件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可
基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技
术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、
数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、
现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实
现,用于执行上述应用预加载方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介
质,例如包括指令的存储器504,上述指令可由装置500的多核处理器520执行
以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机
存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公
开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,
这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开
的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性
的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结
构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的
权利要求来限制。

应用预加载方法及装置.pdf_第1页
第1页 / 共15页
应用预加载方法及装置.pdf_第2页
第2页 / 共15页
应用预加载方法及装置.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《应用预加载方法及装置.pdf》由会员分享,可在线阅读,更多相关《应用预加载方法及装置.pdf(15页珍藏版)》请在专利查询网上搜索。

本公开提供了一种应用预加载方法及装置,属于终端技术领域。所述方法包括:接收场景切换指令,所述场景切换指令用于指示从第一用户切换活动Activity切换至第二Activity;对所述第一Activity暂停处理;在所述第一Activity的暂停处理过程中,获取所述第二Activity的预加载类列表,基于空闲计算资源,启动至少一个线程对所述第二Activity的预加载类列表中的类进行加载;其中,所述第。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1