CN108710513B - 应用程序启动方法、装置、存储介质及终端 - Google Patents
应用程序启动方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN108710513B CN108710513B CN201810463427.3A CN201810463427A CN108710513B CN 108710513 B CN108710513 B CN 108710513B CN 201810463427 A CN201810463427 A CN 201810463427A CN 108710513 B CN108710513 B CN 108710513B
- Authority
- CN
- China
- Prior art keywords
- application program
- preloaded
- application
- starting
- target 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44573—Execute-in-place [XIP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了应用程序启动方法、装置、存储介质及终端。该方法包括:检测到应用预加载事件被触发时,确定待预加载应用程序;对待预加载应用程序对应的启动资源进行预加载;在接收到待预加载应用程序中包含的目标应用程序的启动指令时,根据目标应用程序对应的最新网络数据及目标应用程序对应的已预加载的启动资源,启动目标应用程序,其中,目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。本申请实施例通过采用上述技术方案,在提高应用程序启动速度的同时,能够保证对应的启动资源中的网络数据在网络侧实时更新的应用程序,在终端侧启动时启动内容的时效性。
Description
技术领域
本申请实施例涉及应用程序预加载技术领域,尤其涉及应用程序启动方法、装置、存储介质及终端。
背景技术
目前,随着智能终端技术的快速发展,诸如智能手机、平板电脑以及智能电视等智能设备已成为人们生活中必不可少的电子设备。
智能终端上可以安装有各种各样的应用程序(Application Software,APP),以满足用户不同的需求。而随着应用程序的功能日益丰富,应用程序运行时所需加载的资源也越来越多。当用户选择启动一个应用程序时,终端会对该应用程序启动所需的资源进行加载,待加载完毕后,进入应用程序的初始界面,整个过程通常要花费数秒甚至十几秒的时间,导致应用程序的启动效率较低,亟需改进。
发明内容
本申请实施例提供应用程序启动方法、装置、存储介质及终端,可以优化终端中应用程序的预加载方案。
第一方面,本申请实施例提供了一种应用程序启动方法,包括:
检测到应用预加载事件被触发时,确定待预加载应用程序;
对所述待预加载应用程序对应的启动资源进行预加载;
在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,其中,所述目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。
第二方面,本申请实施例提供了一种应用程序启动装置,包括:
应用确定模块,用于检测到应用预加载事件被触发时,确定待预加载应用程序;
应用预加载模块,用于对所述待预加载应用程序对应的启动资源进行预加载;
应用启动模块,用于在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,其中,所述目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例第一方面所述的应用程序启动方法。
第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例第一方面所述的应用程序启动方法。
本申请实施例中提供的应用程序启动方案,检测到应用预加载事件被触发时,确定待预加载应用程序,并对待预加载应用程序对应的启动资源进行预加载,在接收到待预加载应用程序中包含的目标应用程序的启动指令时,根据目标应用程序对应的最新网络数据及目标应用程序对应的已预加载的启动资源,启动目标应用程序,其中,目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。通过采用上述技术方案,可以在对预测出来的用户即将打开的应用程序的启动资源进行预加载的基础上,提高应用程序启动速度的同时,保证启动资源中的网络数据在网络侧实时更新的应用程序,在终端侧启动时启动内容的时效性。
附图说明
图1为本发明实施例提供的一种应用程序启动的流程示意图;
图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;
图3为本申请实施例提供的又一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;
图4为本申请实施例提供的一种应用界面迁移示意图;
图5为本发明实施例提供的另一种应用程序启动方法的流程示意图;
图6为本发明实施例提供的又一种应用程序启动方法的流程示意图;
图7为本发明实施例提供的一种应用程序启动装置的结构框图;
图8为本发明实施例提供的一种终端的结构示意图;
图9为本发明实施例提供的另一种终端的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1为本申请实施例提供的一种应用程序启动方法的流程示意图,该方法可以由应用程序启动装置执行,其中该装置可由软件和/或硬件实现,一般可集成在终端中。如图1所示,该方法包括:
步骤101、检测到应用预加载事件被触发时,确定待预加载应用程序。
示例性的,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑以及智能家电等终端设备。终端中装载有操作系统。
示例性的,应用预加载事件的触发条件可以根据实际情况设置,本申请实施例不作具体限定。例如,可以在检测到用户的动作满足预设条件(如拿起终端、输入屏幕解锁操作或输入终端解锁操作等)时,触发应用预加载事件;或者可以在检测到前台应用程序发生变更时,触发应用预加载事件;或者可以在预加载应用的预测流程结束后,立即(或经过预设时长后)触发应用预加载事件;或者可以定时间隔触发等等。当应用预加载事件被触发后,系统可以通过读取标志位或接收触发指令等方式检测到应用预加载事件已被触发,具体的检测方式本申请实施例也不做限定。
示例性的,待预加载的应用程序可以理解为用户可能即将打开的应用程序,可以是预先设置好的固定的应用程序,也可以是采用一定的方式预测出来的应用程序等。待预加载的应用程序可以包括一个或多个。
可选的,可采用预测模型对待预加载的应用程序进行预测。该预测模型可以是机器学习模型,所采用的算法可以包括循环神经网络(Recurrent neural networks,RNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等等。
可选的,可在用户使用终端的过程中,采集训练样本,采用训练样本对预设初始模型进行训练,最终得到用于预测待预加载的应用程序的预测模型。示例性的,训练样本中包含的元素可包括应用程序被打开的时间序列或次序序列;可包括应用程序被打开的时间、地点以及频次等;可包括终端的运行状态,如移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等。
示例性的,可根据所选用的机器学习模型选择合适的样本元素,也可根据所选的样本元素确定所选用的机器学习模型,还可结合对预测准确度以及预设速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。
本申请实施例中,确定待预加载应用程序可以包括根据预测模型之前的输出结果确定待预加载应用程序,也可以包括利用预测模型进行预测,将预测模型的当前输出结果确定待预加载应用程序。
本申请实施例中,当待预加载应用程序为多个(N个)时,预测模型可以输出候选应用程序集合中每个候选应用集合的启动概率,将启动概率较高的候选应用确定为待预加载应用程序。可选的,所述确定待预加载应用程序,包括:预测候选应用程序的启动概率;将启动概率较高的预设数值个候选应用程序确定为待预加载应用程序。示例性的,候选应用程序可包括终端中安装的所有应用程序,也可包括部分应用程序。部分应用程序可以不包含系统应用程序,还可以不包含用户很少使用的应用程序。本申请实施例对候选应用程序的确定方式以及数量不做限定。可选的,可根据当前时刻之前的预设时段内各应用程序的使用次数和/或使用时长确定候选应用程序,预设时段例如是1个月,当使用次数和/或使用时长超过相应的阈值时,将所对应的应用程序确定为候选应用程序,或者,按照使用次数和/或使用时长对各应用程序进行排序,将排名靠前的应用程序确定为候选应用程序。
示例性的,可采用上文所述的预测模型来确定各候选应用程序的启动概率。例如,按照预测模型训练时的训练样本,采集当前样本,将当前样本输入至预测模型中,得到各候选应用程序的启动概率。可对启动概率进行由高到低的排序,将排在前N(N为预设数值)的候选应用程序确定为待加载应用程序。这样设置的好处在于,能够对多个应用程序进行预加载,且这多个应用程序是根据启动概率来确定的,可以提高预测的准确性。
步骤102、对所述待预加载应用程序对应的启动资源进行预加载。
本申请实施例中,当待预加载应用程序仅有一个时,无需考虑应用的预加载顺序;而当待预加载应用程序有多个时,可将多个待预加载应用程序逐一确定为当前待预加载应用程序,并依次进行预加载操作,也可将2个以上待预加载的应用程序确定为当前待预加载应用程序,并同时进行预加载操作,也就是说多个应用程序的预加载过程可以是并行进行的。
本申请实施例中,对预加载的启动资源不做限定,例如可为待预加载应用程序分配相应的硬件资源,并基于分配的硬件资源加载启动所需的相关数据。示例性的,可包括应用进程启动、应用服务启动、内存分配、文件内容读取以及网络数据获取等。此外,本申请实施例对预加载的具体过程也不做限定。另外,预加载的资源也可根据待预加载应用程序的具体类型来确定。
步骤103、在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序。
其中,所述目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。
在本申请实施例中,目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据,即目标应用程序对应的启动资源中的网络数据在网络侧是实时更新的。当检测到应用预加载事件被触发时,确定待预加载应用程序,并对待预加载应用程序,若接收到待预加载应用程序中包含的目标应用程序的启动指令时,直接基于目标应用程序对应的已预加载好的启动资源,对目标应用程序进行启动,容易造成目标应用程序无法以包含最新网络数据的启动资源进行启动,无法使目标应用程序对应的启动资源中的最新网络数据在启动时进行快速显示,并提供给用户,容易造成目标应用程序启动内容的时效性差。示例性的,当用户将当前前台运行的应用程序切换到应用程序A时,预测出待预加载应用程序包括应用程序B、应用程序C和应用程序D,并分别对应用程序B、应用程序C和应用程序D对应的启动资源进行了预加载,但是,应用程序A一直处于前台运行阶段,1小时后,接收到应用程序C的启动指令,其中,应用程序C对应的启动资源中包含在网络侧动态更新的网络数据。如果直接基于应用程序C对应的已预加载好的启动资源进行启动,无法保证应用程序C启动内容的时效性。
示例性的,目标应用程序可以包括新闻类应用程序、地图类应用程序、视频类应用程序、购物类应用程序、音乐类应用程序及浏览器类应用程序中的至少一种。例如,新闻类应用程序,如今日头条,会随着每时每刻发生的不同事件,将最新事件以最快的速度提供给用户,新闻类应用程序注重的是新闻的时效性。通常,重要新闻或头条新闻会显示在对应应用启动界面,以达到引人注目的效果。如果在用户启动这类新闻类应用程序时,无法将最新的新闻快速提供给用户,容易造成用户体验差。又例如,音乐类应用程序,如网易云音乐,会将当前最流行的音乐,或当前新发布的备受大家关注的音乐,以最快的速度提供给用户。通常,最新音乐或今日推荐音乐会显示在应用启动界面,以供用户点击收听。如果在用户启动这类音乐类应用程序时,无法将最新音乐或今日推荐音乐快速提供给用户,容易造成用户体验差。
因此,当接收到待预加载应用程序中包含的目标应用程序的启动指令时,根据目标应用程序对应的最新网络数据及目标应用程序对应的已预加载的启动资源,启动目标应用程序,以保证目标应用程序启动内容的时效性。示例性的,当接收到目标应用程序的启动指令时,获取目标应用程序对应的最新网络数据,基于该最新网络数据更新目标应用程序对应的已预加载的启动资源,并基于更新后的启动资源,启动目标应用程序。又示例性的,对待预加载应用程序对应的启动资源进行预加载后,在接收到待预加载应用程序中包含的目标应用程序的启动指令之前,针对待预加载应用程序中对应的启动资源中包含在网络侧动态更新的网络数据的这类应用程序,实时根据最新的网络数据对其对应的启动资源进行更新,这样可以有效保证,在接收到目标应用程序的启动指令时,目标应用程序对应的启动资源中包含的网络数据是最新的网络数据,此时,可以直接基于目标应用程序对应的已预加载好的启动资源,启动目标应用程序。
可选的,接收到所述待预加载应用程序中包含的目标应用程序的启动指令,包括:检测到其他应用程序调用预加载应用程序中包含的目标应用程序的调用指令;或接收到用户按下所述待预加载应用程序中包含的目标应用程序对应的桌面图标,确定接收到所述目标应用程序的启动指令。其中,其他应用程序可以理解为终端中除目标应用程序之外的应用程序,如其他应用程序为当前前台正在运行的应用程序,如应用程序A,当用户在使用应用程序A的过程中,需要调用待预加载应用程序中包含的目标应用程序,如应用程序B,则表示检测到针对目标应用程序的启动指令。例如,用户在使用微信这一应用程序的过程中,接收到好友分享的一则腾讯新闻消息,用户点击打开这则腾讯新闻消息,此时,刚好腾讯新闻这一应用程序属于待预加载应用程序中,对应的启动资源中的网络数据在网络侧不断更新的应用程序。此时,表示检测到针对腾讯新闻这一应用程序的启动指令,此时,可基于腾讯新闻这一应用程序对应的最新网络数据及对应的已预加载的启动资源,启动腾讯新闻,以方便用户退出这则腾讯新闻消息,进入腾讯新闻主界面时,将最新的头条新闻提供给用户。又示例性的,用户在使用美团这一应用程序查找附近的酒店时,想要查找一下从用户当前位置到某一酒店的行驶路线时,用户习惯性地使用高德地图,此时,用户需要从美团内置的地图界面切换到高德地图,此时,表示检测到针对高德地图这一应用程序的启动指令。如果高德地图这一应用程序属于待预加载应用程序中,对应的启动资源中的网络数据在网络侧不断更新的应用程序,此时,可基于高德地图这一应用程序对应的最新网络数据及对应的已预加载的启动资源,启动高德地图,这样可以对用户当前所在位置进行准确定位,为用户提供准确的行驶路线。
当然,当接收到用户按下待预加载应用程序中包含的目标应用程序对应的桌面图标时,如用户按下目标应用对应的桌面图标并抬起手指后,确定接收到目标应用程序的启动指令。
本申请实施例中提供的应用程序启动方法,检测到应用预加载事件被触发时,确定待预加载应用程序,并对待预加载应用程序对应的启动资源进行预加载,在接收到待预加载应用程序中包含的目标应用程序的启动指令时,根据目标应用程序对应的最新网络数据及目标应用程序对应的已预加载的启动资源,启动目标应用程序,其中,目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。通过采用上述技术方案,可以在对预测出来的用户即将打开的应用程序的启动资源进行预加载的基础上,提高应用程序启动速度的同时,保证启动资源中的网络数据在网络侧实时更新的应用程序,在终端侧启动时启动内容的时效性。
在一些实施例中,在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,包括:在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,获取所述目标应用程序对应的最新网络数据;基于所述目标应用程序对应的已预加载的启动资源及所述目标应用程序对应的最新网络数据,启动所述目标应用程序。这样设置的好处在于,既可以保证即将启动的目标应用程序在终端侧启动时,启动内容的时效性,又可以避免对待预加载应用程序中其他应用程序(非目标应用程序,尤其是待预加载应用程序中对应的启动资源中的网络数据在网络侧实时更新的应用程序)对应的启动资源中的网络数据的更新,可以有效节省系统资源。
在本申请实施例中,当接收到待预加载应用程序中包含的目标应用程序的启动指令时,即接收到对待预加载应用程序中的启动资源中的网络数据在网络侧实时更新的应用程序的启动指令时,获取目标应用程序对应的最新网络数据,并基于目标应用程序对应的已预加载的启动资源及获取的目标应用程序对应的最新网络数据,启动目标应用程序。可以理解的是,用获取的目标应用程序对应的最新网络数据更新目标应用程序对应的已预加载的启动资源中的网络数据,并基于更新后的启动资源,启动目标应用程序。当然,当接收到目标应用程序的启动指令时,也可将目标应用程序对应的最新网络数据与已预加载的启动资源中的网络数据进行比对,若两者不同,则可基于获取的最新的网络数据及已预加载的启动资源,启动目标应用程序;若两者相同,则可直接基于已预加载的启动资源,启动目标应用程序。
在一些实施例中,在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,包括:当所述待预加载应用程序中包含预设类型应用程序时,获取所述预设类型应用程序对应的最新网络数据;其中,所述预设类型应用程序对应的启动资源中包含在网络侧动态更新的网络数据;基于所述预设类型应用程序对应的最新网络数据更新所述预设类型应用程序对应的已预加载的启动资源;在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的已预加载的更新后的启动资源,启动所述目标应用程序;其中,所述目标应用程序属于预设类型应用程序。这样设置的好处在于,在接收到目标应用程序的启动指令时,可以保证目标应用程序对应的已预加载的启动资源中包含的网络数据已是最新的网络数据,既可以保证即将启动的目标应用程序在终端侧启动时启动内容的时效性,又能够进一步提高目标应用程序的启动速度。
在本申请实施例中,判断待预加载应用程序中是否包含预设类型应用程序,其中,预设类型应用程序对应的启动资源中包含在网络侧动态更新的网络数据,也即,预设类型应用程序对应的启动资源中的网络数据在网络侧是不断更新的。示例性的,预设类型应用程序可以包括新闻类应用程序、地图类应用程序、视频类应用程序、购物类应用程序、音乐类应用程序及浏览器类应用程序中的至少一种。当待预加载应用程序中包含预设类型应用程序时,获取预设类型应用程序对应的最新网络数据,并基于获取的启动资源中的最新网络数据更新预设类型应用程序对应的已预加载的启动资源,以尽量保证待预加载应用程序中的预设类型应用程序对应的启动资源的时效性。当接收到目标应用程序的启动指令时,根据目标应用程序对应的已预加载的更新后的启动资源,启动目标应用程序,其中,目标应用程序属于预设类型应用程序,也即目标应用程序对应的启动资源中的网络数据在网络侧是不断更新的。
可选的,当所述待预加载应用程序中包含预设类型应用程序时,获取所述预设类型应用程序对应的最新网络数据,包括:当所述待预加载应用程序中包含预设类型应用程序时,每隔预设时长获取所述预设类型应用程序对应的最新网络数据。即每隔预设时长对预设类型应用程序对应的启动资源更新一次,这样可以有效减少终端对数据的处理量,可以更好地保证前台运行的应用程序运行的流畅性。可选的,当待预加载应用程序中包含预设类型应用程序时,实时获取预设类型应用程序对应的最新网络数据,即实时判断预设类型应用程序对应的启动资源中的网络数据是否是最新的,若不是,则能够及时基于最新网络数据对预设类型应用程序对应的启动资源进行更新。
在一些实施例中,在接收到所述待预加载应用程序中包含的目标应用程序的启动指令之前,还包括:基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。这样设置的好处在于,对应用界面进行预加载,能够较大程度地完成应用启动前的准备工作,提升待预加载应用程序的启动速度,且不会影响到前台应用程序的显示内容在显示屏幕上的显示。
本申请实施例中,活动窗口可理解为一个独立的直接面向用户提供交互和操作的界面,在不同的操作系统中可能采用不同的名词来命名该界面。为了便于理解,下面以安卓(Android)操作系统为例进行下面的说明。
在Android系统中,活动窗口被称为Activity。Activity是一个负责与用户交互的组件,其提供一个屏幕(可以理解为屏幕界面,而非实体的显示屏幕),以供用户交互完成某项任务。在一个android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件。在对Activity进行管理中,有这样两个概念:Task(任务栈)和Stack(活动窗口堆栈)。Task对应一个应用程序,Task用于存放Activity,一个Task中可以存放一个或多个Activity,且这些Activity遵循“先进后出,后进先出”的原则。而Stack又用于对Task进行管理,通常,一个Stack对一个屏幕所需展示的各Activity所属的Task进行管理,一个Stack可以管理一个或多个Task,当然,Stack也同样遵循堆栈的基本管理原则。这里所述的屏幕并不一定是完整独立的显示屏,以“两个屏幕”为例,这两个屏幕可能只是一个完整显示屏中两个独立显示各自显示内容的区域。当然,如果终端具备两个甚至是两个以上的独立显示屏,则“两个屏幕”也可以是两个独立的显示屏。
在Android系统中,支持多窗口模式,可包括分屏模式、画中画模式以及自由模式(FreeForm)。在多窗口模式下,应用程序所在的Stack可以有自己的尺寸(size),可以包括以终端屏幕左上角为原点的坐标系中的上下左右坐标。例如,(a,b,c,d),一般描述的是一个矩形的边界,可采用矩形左上角的坐标和右下角的坐标进行表示,即矩形的左上角坐标为(a,b),右下角坐标为(c,d),这样的矩形区域就对应Stack的size。Stack中的应用内布局是以Stack的size为准的,也就是说Activity对应的应用界面是在size的边界范围内进行显示的。
在多窗口模式下,可以允许多个应用程序处于可见状态,包括系统和用户均可见和仅系统可见。系统和用户均可见指的是在显示屏幕上进行显示,且用户能够看到;仅系统可见指的是操作系统可见,而用户不可见,可能被前台的应用遮挡或者如本申请所要实现的在显示屏幕外显示。
本申请实施例中,在显示屏幕外对待预加载应用程序的应用界面进行预加载,可以基于操作系统的多窗口机制来实现,通过多窗口机制将应用程序对应的size设在显示屏幕外而达到对用户不可见的目的,从而不会影响到前台应用程序的显示内容在显示屏幕上的显示。
一般的,多窗口模式下,可以存在多种类型的Stack,如Home Stack表示桌面应用显示的Stack,App Stack表示第三方应用显示,还可以有其他分屏Stack等。本申请实施例中,新增了预加载活动窗口堆栈(预加载Stack),用于表示预加载应用显示的Stack,并设置预加载Stack的边界坐标位于显示屏幕的坐标范围之外,待预加载的应用程序可以显示在该Stack。对于Android系统来说,可以基于Android系统的多窗口机制,新建一个专门用于显示预加载应用的Stack。本申请实施例中,新建Stack是因为可以让新建的预加载Stack拥有自己的size以及可见性,从而实现在显示屏幕外预加载的目的。
本申请实施例中,对预加载Stack的创建时机不做限定,可以是在终端出厂前默认设置预加载Stack处于常驻状态,即预加载Stack一直存在;也可以在终端开机时或终端解锁成功后创建;还可以在应用预加载事件被触发后(可以在确定待预加载应用程序之前)创建等等。可选的,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:判断是否存在预先创建的预加载活动窗口堆栈;若不存在,则按照预设规则创建预加载活动窗口堆栈;基于所创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。这样设置的好处在于,在确定待预加载的待预加载应用程序之后,判断预加载Stack是否存在,若存在,则无需新建,若不存在,则进行创建,可以节省系统资源。可以理解的是,当待预加载应用程序包含多个时,也即需要在短时间内连续预加载多个应用程序时,在第一个待预加载应用程序开始加载前,预加载Stack已创建完毕,那么第二个待预加载应用程序开始加载前,预加载Stack是存在的,可以不必进行上述判断。
本申请实施例中,对基于预加载Stack预加载待预加载应用程序对应的应用界面的具体过程不做限定,例如可以基于预加载Stack的size进行应用界面的绘制并显示等。
在一些实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:创建所述待预加载应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述待预加载应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述待预加载应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述待预加载应用程序对应的应用界面。这样设置的好处在于,能够基于屏幕坐标范围之外的预加载活动窗口堆栈对待预加载应用程序的应用界面进行绘制并显示,不会干扰前台应用程序的运行及显示,保证系统稳定性,同时有效提高待预加载应用程序启动时的速度。在创建目标进程的同时,还可包括目标进程的初始化过程。在上述步骤的执行过程中,还可能涉及其他资源的预加载,如应用服务启动、内存分配、文件内容读取及网络数据获取等,本申请实施例对其他资源的预加载过程不做限定。
在一些实施例中,还包括:向所述待预加载应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述待预加载应用程序对应的应用界面的持续绘制以及显示更新。这样设置的好处在于,能够在待预加载应用程序获得焦点并对系统可见的情况下完成应用界面的绘制及显示,提高预加载的完成度,且不对前台应用的焦点产生影响。本申请实施例中的焦点又称为输入焦点,伪造焦点与前台应用对应的焦点相互独立。一般的,对于目前的Android系统来说,焦点是唯一的,例如触摸等输入操作只对焦点生效,对于输入焦点信息,系统端和应用端是一致的,系统端一旦修改输入焦点信息,就会向应用发送输入焦点信息发生变化的信息,以此方法保证系统端和应用端输入焦点信息一致。本申请实施例中,通过分离系统端和应用端输入焦点信息的方式,实现应用端可伪造焦点的目的。具体的,本申请实施例中,对预加载应用伪造焦点通知,使预加载应用具有焦点信息,而系统端的焦点信息仍然是正确的,这样处理可以使得预加载应用能够正常绘制,达到全部加载的目的。焦点存在于系统端和应用端,可认为是服务端(server)和客户端(client),系统端记录拥有焦点的应用,应用端保存标志位(flag)标识自己是否有焦点。伪造输入焦点的时机可以是当Android的窗口系统新增窗口,需要更新焦点时,生成伪造焦点通知并进行发送。伪造焦点的方法可以是调用窗口的client端的改变窗口焦点的方法,使得该窗口获取焦点。具体的,可基于Binder机制进行伪造焦点通知的发送,Binder机制是Android系统的进程间通信的最常用的方式,采用c/s架构,即客户/服务架构。
本申请实施例中,预设时间段可根据实际情况设计,例如可以是开始预加载后的固定时长范围内,也可以是开始预加载到完成预加载的时段等。在一些实施例中,所述预设时间段的长度包括所述待预加载应用程序中启动广告或启动动画的播放时长。一些应用程序在启动的过程中,通常会播放一些广告或动画,广告或动画的播放时长通常为3秒至十几秒不等,在播放广告或动画期间,用户可能没办法进行任何操作,只能等待播放完毕,浪费用户的宝贵时间。本申请实施例这样设置的好处在于,能够在待预加载应用程序启动之前,在屏幕外播放完启动广告或启动动画,当待预加载应用程序启动时,可直接进入应用程序的主页面或其他用户可操作的界面,从而将待预加载应用程序的可操作时间点进一步提前,减少等待时间。
在一些实施例中,在接收到所述待预加载应用程序中包含的目标应用程序的启动指令之后,还包括:将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。这样设置的好处在于,在目标应用程序真正需要启动的时候,直接将已经绘制好的应用界面迁移到显示屏幕进行显示,能够达到应用界面的快速切换,提高启动速度。
在一些实施例中,所述将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,包括:将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。这样设置的好处在于,能够保证界面迁移过程的稳定性,保证恢复过程不会出现卡屏、黑屏或迁移速度慢等问题。
对于一些终端来说,尤其是手机及平板电脑等移动终端,为了方便用户的使用,显示屏幕的显示方式通常包括竖屏显示和横屏显示,许多应用程序默认采用竖屏方式进行显示,而有些应用程序默认采用横屏方式进行显示(如一些网络游戏),在终端的使用过程中,有些应用程序还会随着用户握持终端的方向而进行横竖屏显示的切换。在本申请的一些实施例中,所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为系统坐标,所述系统坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度。也就是说,H对应的边是显示屏幕的显示区域的最大边,在竖屏显示时为显示屏幕的高,在横屏显示时为显示屏幕的宽。这样设置的目的是考虑到显示屏幕横屏、预加载应用横屏显示,以及一些应用程序的正常显示。图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图2所示,此时显示屏幕为竖屏方式,终端系统坐标的原点为显示屏幕201的左顶点(0,0),显示屏幕201的宽度方向为X轴,高度方向为Y轴,预加载Stack202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。图3为本申请实施例提供的又一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图3所示,此时显示屏幕为横屏方式,终端系统坐标的原点为显示屏幕301的左顶点(0,0),显示屏幕301的高度方向为X轴,宽度方向为Y轴,预加载Stack202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。
预加载Stack各个边界如此设置的原因在于:
左上角的横坐标为H,是为了防止横屏时显示屏幕(也可称为主屏幕)显示到预加载应用的界面,因为主屏幕除了竖屏模式,还有横屏模式,当主屏幕横屏的时候,为了防止主屏幕显示区域显示了预加载的应用的局部,所以将预加载Stack对应的矩形区域的左上角横坐标设为屏幕高。
左上角的纵坐标为0,是为了预加载应用能够正确计算状态栏高度。Android应用为了更好的设计用户界面(User Interface,UI),会自定义顶部状态栏,如果上边对应的纵坐标不等于0,那么状态栏的高度可能会错误。
右下角的横坐标为2H(2倍屏幕高),即预加载Stack对应的矩形的宽=屏幕高,是为了预加载Stack的size能够包含预加载时候的横屏应用(即应用界面为横屏显示方式的应用程序)。
右下角的纵坐标为H,即预加载Stack对应的矩形的高=屏幕高,是为了预加载Stack的size能够包含预加载时候的竖屏应用。
基于上述的原因,发明人将预加载Stack的size设置为(H,0,2H,H)。
此外,图4为本申请实施例提供的一种应用界面迁移示意图,如图4所示,在接收到目标应用程序的启动指令时,将预加载活动窗口堆栈中包含的目标应用程序对应的应用界面401迁移至显示屏幕201进行显示,具体的,将预加载应用界面所属的task迁移至应用活动窗口Stack的顶部,并更新该task的尺寸信息、配置信息和可见性,从而应用界面能够在显示屏幕上正常显示。
图5为本发明实施例提供的应用程序启动的方法的流程示意图,以目标应用程序为新闻类应用程序为例,如图5所示,该方法包括:
步骤501、检测到应用预加载事件被触发时,确定待预加载应用程序。
示例性的,预测的待预加载应用程序中包括预设类型应用程序,其中预设类型应用程序对应的启动资源中包含在网络侧动态更新的网络数据。例如,待预测应用程序中包括新闻类应用程序(如今日头条)、音乐类应用程序(如网易云音乐)及计算器等对应的启动资源中的网络数据不在网络侧动态更新的应用程序。
步骤502、对待预加载应用程序对应的启动资源进行预加载。
步骤503、基于预先创建的预加载活动窗口堆栈预加载待预加载应用程序对应的应用界面。
其中,预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
步骤504、在接收到待预加载应用程序中包含的新闻类应用程序的启动指令时,获取新闻类应用程序对应的最新网络数据。
其中,新闻类应用程序对应的启动资源中包含在网络侧动态更新的网络数据。
示例性的,新闻类应用程序对应的启动资源中包含在网络侧不断更新的网络数据,如新闻类应用程序对应的启动界面中显示的头条新闻或重磅新闻。
步骤505、基于新闻类应用程序对应的已预加载的启动资源及新闻类应用程序对应的最新网络数据,启动新闻类应用程序。
步骤506、将预加载活动窗口堆栈中包含的新闻类应用程序对应的应用界面迁移至显示屏幕进行显示。
本申请实施例提供的应用程序启动方法,在接收到待预加载应用程序中包含的目标应用程序的启动指令时,获取新闻类应用程序对应的最新网络数据,并基于新闻类应用程序对应的已预加载的启动资源及新闻类应用程序对应的最新网络数据,启动新闻类应用程序,这样既可以保证即将启动的新闻类应用程序在终端侧启动时启动内容的时效性,又可以避免对待预加载应用程序中其他应用程序(非新闻类应用程序,尤其是待预加载应用程序中的启动资源中的网络数据在网络侧实时更新的应用程序)对应的启动资源中的网络数据的更新,可以有效节省系统资源。
图6为本发明实施例提供的应用程序启动的方法的流程示意图,以目标应用程序为地图类应用程序为例,如图6所示,该方法包括:
步骤601、检测到应用预加载事件被触发时,确定待预加载应用程序。
示例性的,预测的待预加载应用程序中包括预设类型应用程序,其中预设类型应用程序对应的启动资源中包含在网络侧动态更新的网络数据。例如,待预测应用程序中包括地图类应用程序(如高德地图)、浏览器类应用程序(如360浏览器)及万年历等对应的启动资源中的网络数据不在网络侧动态更新的应用程序。
步骤602、对待预加载应用程序对应的启动资源进行预加载。
步骤603、基于预先创建的预加载活动窗口堆栈预加载待预加载应用程序对应的应用界面。
其中,预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
步骤604、当待预加载应用程序中包含预设类型应用程序时,每隔预设时长获取预设类型应用程序对应的最新网络数据。
其中,预设类型应用程序对应的启动资源中包含在网络侧动态更新的网络数据。示例性的,预设类型应用程序可以包括新闻类应用程序、地图类应用程序、视频类应用程序、购物类应用程序、音乐类应用程序及浏览器类应用程序。
步骤605、基于预设类型应用程序对应的最新网络数据更新预设类型应用程序对应的已预加载的启动资源。
步骤606、在接收到待预加载应用程序中包含的地图类应用程序的启动指令时,根据地图类应用程序对应的已预加载的更新后的启动资源,启动地图类应用程序。
示例性的,地图类应用程序对应的启动资源中包含在网络侧不断更新的网络数据,如地图类应用程序对应的启动界面中显示的用户的当前位置及当前位置周围的路况信息。
步骤607、将预加载活动窗口堆栈中包含的地图类应用程序对应的应用界面迁移至显示屏幕进行显示。
本申请实施例提供的应用程序启动方法,当待预加载应用程序中包含预设类型应用程序时,获取预设类型应用程序对应的最新网络数据,其中,预设类型应用程序对应的启动资源中包含在网络侧动态更新的网络数据,并基于预设类型应用程序对应的最新网络数据更新预设类型应用程序对应的已预加载的启动资源,在接收到待预加载应用程序中包含的地图类应用程序的启动指令时,根据地图类应用程序对应的已预加载的更新后的启动资源,启动地图类应用程序,其中,地图类应用程序属于预设类型应用程序,这样可以保证地图类应用程序对应的已预加载的启动资源中包含的网络数据已是最新的网络数据,既可以保证即将启动的地图类应用程序在终端侧启动时启动内容的时效性,又能够进一步提高地图类应用程序的启动速度。另外,在对待预加载应用程度的启动资源进行预加载的同时,将待预加载应用程序对应的应用界面在屏幕坐标范围外进行预加载,在接收到地图类应用程序的运行指令,可直接将已加载好的界面进行显示,可以进一步提高地图类应用程序的启动速度。
图7为本申请实施例提供的一种应用程序启动装置的结构示意图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序启动方法来进行应用程序的启动。如图7所示,该装置包括:
应用确定模块701,用于检测到应用预加载事件被触发时,确定待预加载应用程序;
应用预加载模块702,用于对所述待预加载应用程序对应的启动资源进行预加载;
应用启动模块703,用于在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,其中,所述目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。
本申请实施例中提供的应用程序启动装置,检测到应用预加载事件被触发时,确定待预加载应用程序,并对待预加载应用程序对应的启动资源进行预加载,在接收到待预加载应用程序中包含的目标应用程序的启动指令时,根据目标应用程序对应的最新网络数据及目标应用程序对应的已预加载的启动资源,启动目标应用程序,其中,目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。通过采用上述技术方案,可以在对预测出来的用户即将打开的应用程序的启动资源进行预加载的基础上,提高应用程序启动速度的同时,保证启动资源中的网络数据在网络侧实时更新的应用程序,在终端侧启动时启动内容的时效性。
可选的,所述应用启动模块,用于:
在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,获取所述目标应用程序对应的最新网络数据;
基于所述目标应用程序对应的已预加载的启动资源及所述目标应用程序对应的最新网络数据,启动所述目标应用程序。
可选的,所述应用启动模块,包括:
网络数据获取单元,用于当所述待预加载应用程序中包含预设类型应用程序时,获取所述预设类型应用程序对应的最新网络数据;其中,所述预设类型应用程序对应的启动资源中包含在网络侧动态更新的网络数据;
启动资源更新单元,用于基于所述预设类型应用程序对应的最新网络数据更新所述预设类型应用程序对应的已预加载的启动资源;
应用启动单元,用于在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的已预加载的更新后的启动资源,启动所述目标应用程序;其中,所述目标应用程序属于预设类型应用程序。
可选的,所述网络数据获取单元,用于:
当所述待预加载应用程序中包含预设类型应用程序时,每隔预设时长获取所述预设类型应用程序对应的最新网络数据。
可选的,接收到所述待预加载应用程序中包含的目标应用程序的启动指令,包括:
检测到其他应用程序调用预加载应用程序中包含的目标应用程序的调用指令;或
接收到用户按下所述待预加载应用程序中包含的目标应用程序对应的桌面图标,确定接收到所述目标应用程序的启动指令。
可选的,该装置还包括:
应用界面预加载模块,用于在接收到所述待预加载应用程序中包含的目标应用程序的启动指令之前,基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
可选的,该装置还包括:
应用界面迁移模块,用于在接收到所述待预加载应用程序中包含的目标应用程序的启动指令之后,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序启动方法,该方法包括:
检测到应用预加载事件被触发时,确定待预加载应用程序;
对所述待预加载应用程序对应的启动资源进行预加载;
在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,其中,所述目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序启动操作,还可以执行本申请任意实施例所提供的应用程序启动方法中的相关操作。
本申请实施例提供了一种终端,该终端中可集成本申请实施例提供的应用程序启动装置。图8为本申请实施例提供的一种终端的结构示意图。终端800可以包括:存储器801,处理器802及存储在存储器上并可在处理器运行的计算机程序,所述处理器802执行所述计算机程序时实现如本申请实施例所述的应用程序启动方法。
本申请实施例提供的终端,可以在对预测出来的用户即将打开的应用程序的启动资源进行预加载的基础上,提高应用程序启动速度的同时,保证启动资源中的网络数据在网络侧实时更新的应用程序,在终端侧启动时启动内容的时效性。
图9为本申请实施例提供的另一种终端的结构示意图,该终端可以包括:壳体(图中未示出)、存储器901、中央处理器(central processing unit,CPU)902(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU902和所述存储器901设置在所述电路板上;所述电源电路,用于为所述终端的各个电路或器件供电;所述存储器901,用于存储可执行程序代码;所述CPU902通过读取所述存储器901中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
检测到应用预加载事件被触发时,确定待预加载应用程序;
对所述待预加载应用程序对应的启动资源进行预加载;
在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,其中,所述目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。
所述终端还包括:外设接口903、RF(Radio Frequency,射频)电路905、音频电路906、扬声器911、电源管理芯片908、输入/输出(I/O)子系统909、其他输入/控制设备910、触摸屏912、其他输入/控制设备910以及外部端口904,这些部件通过一个或多个通信总线或信号线907来通信。
应该理解的是,图示终端900仅仅是终端的一个范例,并且终端900可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于应用程序启动的终端进行详细的描述,该终端以手机为例。
存储器901,所述存储器901可以被CPU902、外设接口903等访问,所述存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口903,所述外设接口903可以将设备的输入和输出外设连接到CPU902和存储器901。
I/O子系统909,所述I/O子系统909可以将设备上的输入输出外设,例如触摸屏912和其他输入/控制设备910,连接到外设接口903。I/O子系统909可以包括显示控制器9091和用于控制其他输入/控制设备910的一个或多个输入控制器9092。其中,一个或多个输入控制器9092从其他输入/控制设备910接收电信号或者向其他输入/控制设备910发送电信号,其他输入/控制设备910可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器9092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏912,所述触摸屏912是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统909中的显示控制器9091从触摸屏912接收电信号或者向触摸屏912发送电信号。触摸屏912检测触摸屏上的接触,显示控制器9091将检测到的接触转换为与显示在触摸屏912上的用户界面对象的交互,即实现人机交互,显示在触摸屏912上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路905,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路905接收并发送RF信号,RF信号也称为电磁信号,RF电路905将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路905可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路906,主要用于从外设接口903接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器911。
扬声器911,用于将手机通过RF电路905从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片908,用于为CPU902、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
上述实施例中提供的应用程序启动装置、存储介质及终端可执行本发明任意实施例所提供的应用程序启动方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的应用程序启动方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种应用程序启动方法,其特征在于,包括:
检测到应用预加载事件被触发时,确定待预加载应用程序;
对所述待预加载应用程序对应的启动资源进行预加载;其中,对所述待预加载应用程序对应的启动资源进行预加载时,向所述待预加载应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述待预加载应用程序对应的应用界面的持续绘制以及显示更新;其中,所述伪造焦点与前台应用对应的焦点相互独立;
在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,其中,所述目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。
2.根据权利要求1所述的方法,其特征在于,在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,包括:
在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,获取所述目标应用程序对应的最新网络数据;
基于所述目标应用程序对应的已预加载的启动资源及所述目标应用程序对应的最新网络数据,启动所述目标应用程序。
3.根据权利要求1所述的方法,其特征在于,在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,包括:
当所述待预加载应用程序中包含预设类型应用程序时,获取所述预设类型应用程序对应的最新网络数据;其中,所述预设类型应用程序对应的启动资源中包含在网络侧动态更新的网络数据;
基于所述预设类型应用程序对应的最新网络数据更新所述预设类型应用程序对应的已预加载的启动资源;
在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的已预加载的更新后的启动资源,启动所述目标应用程序;其中,所述目标应用程序属于预设类型应用程序。
4.根据权利要求3所述的方法,其特征在于,当所述待预加载应用程序中包含预设类型应用程序时,获取所述预设类型应用程序对应的最新网络数据,包括:
当所述待预加载应用程序中包含预设类型应用程序时,每隔预设时长获取所述预设类型应用程序对应的最新网络数据。
5.根据权利要求1所述的方法,其特征在于,接收到所述待预加载应用程序中包含的目标应用程序的启动指令,包括:
检测到其他应用程序调用预加载应用程序中包含的目标应用程序的调用指令;或
接收到用户按下所述待预加载应用程序中包含的目标应用程序对应的桌面图标,确定接收到所述目标应用程序的启动指令。
6.根据权利要求1所述的方法,其特征在于,在接收到所述待预加载应用程序中包含的目标应用程序的启动指令之前,还包括:
基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
7.根据权利要求6所述的方法,其特征在于,在接收到所述待预加载应用程序中包含的目标应用程序的启动指令之后,还包括:
将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。
8.一种应用程序启动装置,其特征在于,包括:
应用确定模块,用于检测到应用预加载事件被触发时,确定待预加载应用程序;
应用预加载模块,用于对所述待预加载应用程序对应的启动资源进行预加载;其中,对所述待预加载应用程序对应的启动资源进行预加载时,向所述待预加载应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述待预加载应用程序对应的应用界面的持续绘制以及显示更新;其中,所述伪造焦点与前台应用对应的焦点相互独立;
应用启动模块,用于在接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,根据所述目标应用程序对应的最新网络数据及所述目标应用程序对应的已预加载的启动资源,启动所述目标应用程序,其中,所述目标应用程序对应的启动资源中包含在网络侧动态更新的网络数据。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的应用程序启动方法。
10.一种终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一所述的应用程序启动方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810463427.3A CN108710513B (zh) | 2018-05-15 | 2018-05-15 | 应用程序启动方法、装置、存储介质及终端 |
PCT/CN2019/084999 WO2019218871A1 (en) | 2018-05-15 | 2019-04-29 | Method for launching application, storage medium, and terminal |
US16/398,837 US11604660B2 (en) | 2018-05-15 | 2019-04-30 | Method for launching application, storage medium, and terminal |
EP19173437.5A EP3570163B1 (en) | 2018-05-15 | 2019-05-09 | Method for launching application, storage medium, and terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810463427.3A CN108710513B (zh) | 2018-05-15 | 2018-05-15 | 应用程序启动方法、装置、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108710513A CN108710513A (zh) | 2018-10-26 |
CN108710513B true CN108710513B (zh) | 2020-07-21 |
Family
ID=63868862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810463427.3A Active CN108710513B (zh) | 2018-05-15 | 2018-05-15 | 应用程序启动方法、装置、存储介质及终端 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11604660B2 (zh) |
EP (1) | EP3570163B1 (zh) |
CN (1) | CN108710513B (zh) |
WO (1) | WO2019218871A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11095743B2 (en) | 2014-07-16 | 2021-08-17 | Tensera Networks Ltd. | Optimized content-delivery network (CDN) for the wireless last mile |
WO2019082042A1 (en) | 2017-10-26 | 2019-05-02 | Tensera Networks Ltd. | AUDIO INHIBITION OF APPLICATIONS IN BACKGROUND MODE, PRELOADING AND REFRESHING THEREOF |
CN109947497B (zh) * | 2017-12-20 | 2021-06-08 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及移动终端 |
CN108595228B (zh) | 2018-05-10 | 2021-03-12 | Oppo广东移动通信有限公司 | 应用程序预测模型建立方法、装置、存储介质及移动终端 |
CN108595227A (zh) | 2018-05-10 | 2018-09-28 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及移动终端 |
CN108710513B (zh) * | 2018-05-15 | 2020-07-21 | Oppo广东移动通信有限公司 | 应用程序启动方法、装置、存储介质及终端 |
CN108804157A (zh) | 2018-06-05 | 2018-11-13 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
US11016788B2 (en) * | 2018-11-28 | 2021-05-25 | Hisense Visual Technology Co., Ltd. | Application launching method and display device |
CN110262659B (zh) * | 2019-06-18 | 2022-03-15 | Oppo广东移动通信有限公司 | 应用控制方法及相关装置 |
CN111273965B (zh) * | 2020-02-17 | 2021-10-29 | 支付宝(杭州)信息技术有限公司 | 一种容器应用启动方法、系统、装置及电子设备 |
CN111581021B (zh) * | 2020-04-29 | 2023-05-09 | 北京字节跳动网络技术有限公司 | 应用程序启动异常的修复方法、装置、设备及存储介质 |
US11709696B2 (en) * | 2020-07-01 | 2023-07-25 | Hypori, LLC | Preloading of virtual devices in anticipation of a connection request from a physical device |
CN111897601B (zh) * | 2020-08-03 | 2023-11-24 | Oppo广东移动通信有限公司 | 应用启动方法、装置、终端设备以及存储介质 |
CN113068078A (zh) * | 2021-03-15 | 2021-07-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种网络及其内容切换方法及装置 |
US20220292627A1 (en) * | 2021-03-15 | 2022-09-15 | Samsung Electronics Co., Ltd | Method and electronic device for boosting graphics performance |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929532A (zh) * | 2012-09-29 | 2013-02-13 | 东莞宇龙通信科技有限公司 | 应用程序的启动方法及通信终端 |
CN103246529A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 更新和推送导航栏的方法、设备和系统 |
CN104657183A (zh) * | 2015-03-09 | 2015-05-27 | 联想(北京)有限公司 | 信息处理方法、装置及电子设备 |
CN106406966A (zh) * | 2016-10-31 | 2017-02-15 | 维沃移动通信有限公司 | 一种应用程序的预加载方法及移动终端 |
CN106569894A (zh) * | 2016-10-11 | 2017-04-19 | 北京元心科技有限公司 | 图片加载方法和系统 |
CN106778248A (zh) * | 2016-12-26 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序Activity启动的方法和装置 |
CN106919313A (zh) * | 2017-04-21 | 2017-07-04 | 维沃移动通信有限公司 | 一种应用程序的启动方法及移动终端 |
CN107748686A (zh) * | 2017-11-30 | 2018-03-02 | 广东欧珀移动通信有限公司 | 应用程序的启动优化方法、装置、存储介质及智能终端 |
Family Cites Families (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6748457B2 (en) | 2000-02-03 | 2004-06-08 | Realtime Data, Llc | Data storewidth accelerator |
KR100618997B1 (ko) | 2000-04-10 | 2006-08-31 | 삼성전자주식회사 | 홈 페이지 광고 방법 |
US20050160352A1 (en) | 2001-06-14 | 2005-07-21 | Samsung Electronics Co., Ltd. | Information storage medium containing preload information, apparatus for and method of reproducing therefor |
US7580972B2 (en) | 2001-12-12 | 2009-08-25 | Valve Corporation | Method and system for controlling bandwidth on client and server |
US20040030882A1 (en) | 2002-08-08 | 2004-02-12 | Forman George Henry | Managed application pre-launching |
US8015259B2 (en) | 2002-09-10 | 2011-09-06 | Alan Earl Swahn | Multi-window internet search with webpage preload |
US20040153445A1 (en) | 2003-02-04 | 2004-08-05 | Horvitz Eric J. | Systems and methods for constructing and using models of memorability in computing and communications applications |
US9213365B2 (en) | 2010-10-01 | 2015-12-15 | Z124 | Method and system for viewing stacked screen displays using gestures |
US9207717B2 (en) | 2010-10-01 | 2015-12-08 | Z124 | Dragging an application to a screen using the application manager |
US7275150B2 (en) | 2004-03-15 | 2007-09-25 | International Business Machines Corporation | Method and system for adding frequently selected applications to a computer startup sequence |
US7747749B1 (en) | 2006-05-05 | 2010-06-29 | Google Inc. | Systems and methods of efficiently preloading documents to client devices |
US8112755B2 (en) | 2006-06-30 | 2012-02-07 | Microsoft Corporation | Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources |
US8745507B2 (en) | 2007-11-30 | 2014-06-03 | At&T Intellectual Property I, L.P. | Preloader employing enhanced messages |
US9557889B2 (en) | 2009-01-28 | 2017-01-31 | Headwater Partners I Llc | Service plan design, user interfaces, application programming interfaces, and device management |
DE112010004601T5 (de) | 2009-10-19 | 2013-01-24 | Barnes & Noble, Inc. | Vorrichtung und Verfahren zur Steuerung von mehrfach-Displays aus einem einzelnen virtuellen Bildspeicher |
US20110291964A1 (en) | 2010-06-01 | 2011-12-01 | Kno, Inc. | Apparatus and Method for Gesture Control of a Dual Panel Electronic Device |
GB2495455B (en) | 2010-07-26 | 2013-11-13 | Seven Networks Inc | Prediction of activity session for mobile network use optimization and user experience enhancement |
US20120167122A1 (en) | 2010-12-27 | 2012-06-28 | Nokia Corporation | Method and apparatus for pre-initializing application rendering processes |
US8812658B1 (en) | 2011-05-20 | 2014-08-19 | Amazon Technologies, Inc. | Pre-fetching of network page content |
US20120324481A1 (en) | 2011-06-16 | 2012-12-20 | Samsung Electronics Co. Ltd. | Adaptive termination and pre-launching policy for improving application startup time |
CN102446096B (zh) | 2011-09-20 | 2016-08-24 | 宇龙计算机通信科技(深圳)有限公司 | 终端和基于位置的显示方法 |
US8878794B2 (en) | 2011-09-27 | 2014-11-04 | Z124 | State of screen info: easel |
US9448708B1 (en) | 2011-10-19 | 2016-09-20 | Google Inc. | Theming for virtual collaboration |
KR20130054076A (ko) | 2011-11-16 | 2013-05-24 | 삼성전자주식회사 | 복수 개의 어플리케이션을 프리로딩하는 터치스크린을 가지는 장치 및 그 제어 방법 |
CN102541602A (zh) | 2011-12-28 | 2012-07-04 | 用友软件股份有限公司 | 界面的预加载装置和预加载方法 |
US9189252B2 (en) * | 2011-12-30 | 2015-11-17 | Microsoft Technology Licensing, Llc | Context-based device action prediction |
CN103581754A (zh) | 2012-07-20 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据显示方法及智能设备 |
CN102819436B (zh) | 2012-08-01 | 2016-03-30 | 广州博冠信息科技有限公司 | 一种基于网页邮箱的用户界面交互方法和设备 |
CN103631612B (zh) | 2012-08-23 | 2017-09-29 | 腾讯科技(深圳)有限公司 | 启动操作系统的方法与装置 |
US10261938B1 (en) | 2012-08-31 | 2019-04-16 | Amazon Technologies, Inc. | Content preloading using predictive models |
US20140075377A1 (en) | 2012-09-10 | 2014-03-13 | Samsung Electronics Co. Ltd. | Method for connecting mobile terminal and external display and apparatus implementing the same |
US20140101611A1 (en) * | 2012-10-08 | 2014-04-10 | Vringo Lab, Inc. | Mobile Device And Method For Using The Mobile Device |
BR112014028434A2 (pt) | 2012-12-07 | 2017-06-27 | Yota Devices Ipr Ltd | método para autenticar o lançamento de dados para um driver de dispositivo e dispositivo eletrônico |
US9104813B2 (en) | 2012-12-15 | 2015-08-11 | International Business Machines Corporation | Software installation method, apparatus and program product |
CN103092687B (zh) | 2012-12-26 | 2017-10-20 | 上海斐讯数据通信技术有限公司 | 一种应用程序管理装置和方法 |
CN103106000B (zh) | 2013-01-23 | 2015-11-25 | 东莞宇龙通信科技有限公司 | 多焦点窗口的实现方法及通信终端 |
CN104298554B (zh) | 2013-07-15 | 2019-01-18 | 北京三星通信技术研究有限公司 | 管理多任务应用程序的方法及装置 |
US9508040B2 (en) | 2013-06-12 | 2016-11-29 | Microsoft Technology Licensing, Llc | Predictive pre-launch for applications |
US20140373032A1 (en) | 2013-06-12 | 2014-12-18 | Microsoft Corporation | Prefetching content for service-connected applications |
CN103376974A (zh) | 2013-06-28 | 2013-10-30 | 广州市动景计算机科技有限公司 | 一种窗口切换方法及装置 |
US9588897B2 (en) | 2013-07-19 | 2017-03-07 | Samsung Electronics Co., Ltd. | Adaptive application caching for mobile devices |
US9565233B1 (en) | 2013-08-09 | 2017-02-07 | Google Inc. | Preloading content for requesting applications |
CN103412757B (zh) | 2013-08-19 | 2017-08-01 | 南京大学 | 移动应用个性化集成框架的实现方法 |
WO2015068872A1 (en) | 2013-11-08 | 2015-05-14 | Lg Electronics Inc. | Electronic device and method for controlling of the same |
CN103593479B (zh) | 2013-11-29 | 2017-02-22 | 四川大学 | 应用程序菜单推荐方法及装置 |
CN103677922B (zh) | 2013-12-13 | 2018-01-09 | 北京奇虎科技有限公司 | 对应用软件进行启动的方法和装置 |
US9513888B1 (en) | 2014-01-30 | 2016-12-06 | Sprint Communications Company L.P. | Virtual preloads |
KR102262102B1 (ko) | 2014-04-09 | 2021-06-09 | 삼성전자 주식회사 | 애플리케이션 실행 방법 및 장치 |
CN105022642A (zh) | 2014-04-17 | 2015-11-04 | 中兴通讯股份有限公司 | 一种移动终端及加载内容的处理方法 |
CN105094861A (zh) | 2014-05-06 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 网页应用程序加载方法、装置及系统 |
US9665296B2 (en) | 2014-05-07 | 2017-05-30 | Sandisk Technologies Llc | Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications |
US10055096B2 (en) | 2014-06-06 | 2018-08-21 | Apple Inc. | Continuous reading of articles |
CN104092821A (zh) | 2014-07-01 | 2014-10-08 | 惠州Tcl移动通信有限公司 | 一种移动终端的图标隐藏方法及系统 |
WO2018055506A1 (en) | 2016-09-22 | 2018-03-29 | Tensera Networks Ltd. | An optimized content-delivery network (cdn) for the wireless last mile |
US10261672B1 (en) * | 2014-09-16 | 2019-04-16 | Amazon Technologies, Inc. | Contextual launch interfaces |
GB2546692A (en) | 2014-10-13 | 2017-07-26 | Seven Networks Llc | Wireless traffic management system for caching at a mobile device based on user characteristics |
US20160117716A1 (en) | 2014-10-22 | 2016-04-28 | Hsiu-Ping Lin | Methods and systems for advertising apps |
US10114661B2 (en) | 2014-11-07 | 2018-10-30 | Roku, Inc. | System and method for fast starting an application |
US20160162148A1 (en) | 2014-12-04 | 2016-06-09 | Google Inc. | Application launching and switching interface |
CN105786839A (zh) | 2014-12-22 | 2016-07-20 | 阿里巴巴集团控股有限公司 | 一种应用数据获取方法及装置 |
US9971972B2 (en) | 2014-12-30 | 2018-05-15 | Oath Inc. | Predicting the next application that you are going to use on aviate |
US10402038B2 (en) | 2015-01-08 | 2019-09-03 | Hand Held Products, Inc. | Stack handling using multiple primary user interfaces |
CN104809174A (zh) | 2015-04-13 | 2015-07-29 | 深圳市金立通信设备有限公司 | 一种终端应用的打开方法 |
US10459887B1 (en) | 2015-05-12 | 2019-10-29 | Apple Inc. | Predictive application pre-launch |
CN104850799B (zh) | 2015-05-27 | 2018-11-16 | 努比亚技术有限公司 | 一种隐藏移动终端中的数据的方法及移动终端 |
US10097973B2 (en) | 2015-05-27 | 2018-10-09 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US9983887B2 (en) | 2015-06-05 | 2018-05-29 | Apple Inc. | Memory management of data processing systems |
CN104951340B (zh) * | 2015-06-12 | 2018-07-06 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
CN106325913A (zh) | 2015-07-03 | 2017-01-11 | 龙芯中科技术有限公司 | 应用程序启动方法及装置 |
CN105824657B (zh) | 2015-07-27 | 2018-06-26 | 维沃移动通信有限公司 | 一种显示应用程序的方法及移动终端 |
KR102443069B1 (ko) | 2015-08-12 | 2022-09-14 | 삼성전자주식회사 | 어플리케이션을 실행하기 위한 장치 및 방법 |
CN112214260B (zh) | 2015-09-21 | 2023-09-22 | 创新先进技术有限公司 | 终端应用app的加载方法及装置 |
KR102401772B1 (ko) | 2015-10-02 | 2022-05-25 | 삼성전자주식회사 | 전자 장치에서 어플리케이션 실행 장치 및 방법 |
CN105426214B (zh) | 2015-12-08 | 2019-04-30 | 惠州Tcl移动通信有限公司 | 一种应用程序启动方法、系统及移动终端 |
KR20170077714A (ko) | 2015-12-28 | 2017-07-06 | 삼성전자주식회사 | 어플리케이션 실행 방법 및 이를 지원하는 전자 장치 |
CN105657522B (zh) | 2016-01-05 | 2019-06-28 | 深圳市金立通信设备有限公司 | 一种视频播放的方法以及终端 |
KR102459031B1 (ko) | 2016-02-15 | 2022-10-26 | 삼성전자 주식회사 | 전자 장치 및 그 어플리케이션 표시 방법 |
CN105682037A (zh) | 2016-03-03 | 2016-06-15 | 惠州Tcl移动通信有限公司 | 一种移动终端及其操作系统的切换方法 |
CN105912227A (zh) | 2016-04-13 | 2016-08-31 | 广州阿里巴巴文学信息技术有限公司 | 一种文本信息的显示方法、装置和移动设备 |
CN105955765B (zh) | 2016-04-22 | 2020-03-03 | 北京小米移动软件有限公司 | 应用预加载方法及装置 |
CN105912215A (zh) | 2016-04-25 | 2016-08-31 | 上海斐讯数据通信技术有限公司 | 一种应用程序的切换方法及移动终端 |
CN106056010A (zh) | 2016-05-20 | 2016-10-26 | 北京小米移动软件有限公司 | 终端处理消息的方法、装置及终端 |
CN105939416A (zh) * | 2016-05-30 | 2016-09-14 | 努比亚技术有限公司 | 移动终端及其应用预启动方法 |
CN106066805B (zh) | 2016-05-31 | 2020-03-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种终端应用程序启动的方法、装置及终端 |
CN106055364B (zh) | 2016-05-31 | 2020-05-08 | Oppo广东移动通信有限公司 | 一种启动应用方法及终端设备 |
CN106055369A (zh) | 2016-06-08 | 2016-10-26 | 维沃移动通信有限公司 | 一种移动终端应用程序的启动方法及移动终端 |
CN106201241A (zh) | 2016-06-24 | 2016-12-07 | 北京奇虎科技有限公司 | 终端屏幕的分屏显示方法、装置及终端 |
CN106250988B (zh) | 2016-07-28 | 2018-09-11 | 武汉理工大学 | 基于样本特性的相关向量回归增量学习算法及系统 |
CN107817995B (zh) * | 2016-09-12 | 2021-03-30 | 华为技术有限公司 | 一种后台静默启动应用的方法、装置及终端设备 |
CN107885591A (zh) | 2016-09-27 | 2018-04-06 | 华为技术有限公司 | 为应用分配系统资源的方法和终端 |
CN106648733B (zh) | 2016-09-28 | 2020-02-14 | 江西博瑞彤芸科技有限公司 | 应用预加载的方法 |
US10204059B2 (en) | 2016-09-29 | 2019-02-12 | International Business Machines Corporation | Memory optimization by phase-dependent data residency |
US10264050B2 (en) | 2016-10-03 | 2019-04-16 | Paypal, Inc. | Predictive analysis of computing patterns for preloaded data to reduce processing downtime |
CN106775820A (zh) | 2016-11-10 | 2017-05-31 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序管理的方法及装置 |
CN106648747B (zh) * | 2016-11-14 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 进程预加载处理方法及装置 |
CN106685851A (zh) | 2016-12-20 | 2017-05-17 | 深圳市金立通信设备有限公司 | 一种数据流量控制方法及终端 |
CN106874091A (zh) | 2017-02-06 | 2017-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用程序调用方法、装置及移动终端 |
US20180246635A1 (en) | 2017-02-24 | 2018-08-30 | Microsoft Technology Licensing, Llc | Generating user interfaces combining foreground and background of an image with user interface elements |
CN106874095A (zh) | 2017-02-28 | 2017-06-20 | 珠海市魅族科技有限公司 | 一种应用加载方法及装置 |
CN108572965B (zh) | 2017-03-08 | 2020-03-31 | 阿里巴巴集团控股有限公司 | 一种资源加载方法及装置 |
CN108572818B (zh) | 2017-03-08 | 2021-07-23 | 斑马智行网络(香港)有限公司 | 一种用户界面渲染方法及装置 |
CN106941672A (zh) | 2017-03-09 | 2017-07-11 | 东软集团股份有限公司 | 应用软件异常处理的方法及装置 |
CN106959879B (zh) | 2017-03-31 | 2020-08-25 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
CN107249074A (zh) | 2017-05-16 | 2017-10-13 | 努比亚技术有限公司 | 应用程序快速启动方法、移动终端及计算机可读存储介质 |
CN107229397A (zh) | 2017-06-08 | 2017-10-03 | 惠州Tcl移动通信有限公司 | 一种提高终端流畅度的方法、系统、终端以及存储装置 |
CN107368361B (zh) | 2017-06-26 | 2019-08-20 | 中广热点云科技有限公司 | 一种移动终端应用程序切换方法及系统 |
CN107508961A (zh) | 2017-06-26 | 2017-12-22 | 努比亚技术有限公司 | 一种活动窗口启动方法、终端及计算机可读存储介质 |
CN107273011A (zh) | 2017-06-26 | 2017-10-20 | 努比亚技术有限公司 | 应用程序快速切换方法及移动终端 |
CN107562495A (zh) | 2017-07-20 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种应用程序的启动方法和启动装置 |
KR20190021141A (ko) | 2017-08-22 | 2019-03-05 | 삼성전자주식회사 | 멀티 윈도우를 제어하는 전자 장치 및 그 동작 방법 |
CN107728874A (zh) | 2017-09-06 | 2018-02-23 | 阿里巴巴集团控股有限公司 | 提供用户快捷操作的方法、装置及设备 |
CN107766201A (zh) | 2017-09-28 | 2018-03-06 | 联想(北京)有限公司 | 一种软件处理方法和装置、电子设备 |
CN107678823A (zh) | 2017-09-30 | 2018-02-09 | 广东欧珀移动通信有限公司 | 移动终端应用的控制方法、装置及存储介质和移动终端 |
CN107678803B (zh) | 2017-09-30 | 2020-12-01 | Oppo广东移动通信有限公司 | 应用管控方法、装置、存储介质及电子设备 |
CN107678799B (zh) | 2017-09-30 | 2019-10-25 | Oppo广东移动通信有限公司 | 应用程序管控方法、装置、存储介质及电子设备 |
CN107729133A (zh) | 2017-10-26 | 2018-02-23 | 努比亚技术有限公司 | 一种运行应用程序的方法、终端和计算机可读存储介质 |
CN107783801B (zh) | 2017-11-06 | 2021-03-12 | Oppo广东移动通信有限公司 | 应用程序预测模型建立、预加载方法、装置、介质及终端 |
CN107872523B (zh) | 2017-11-07 | 2020-04-17 | Oppo广东移动通信有限公司 | 网络数据的加载方法、装置、存储介质及移动终端 |
CN107833073A (zh) | 2017-11-08 | 2018-03-23 | 吉浦斯信息咨询(深圳)有限公司 | 应用潜力评估方法、系统 |
CN109814938A (zh) | 2017-11-20 | 2019-05-28 | 广东欧珀移动通信有限公司 | 应用程序预测模型建立、预加载方法、装置、介质及终端 |
CN107944259A (zh) | 2017-11-21 | 2018-04-20 | 广东欧珀移动通信有限公司 | 应用启动的管控方法、装置及存储介质和移动终端 |
CN107943650B (zh) | 2017-11-21 | 2021-09-17 | Oppo广东移动通信有限公司 | 应用程序的控制方法、装置、存储介质及终端 |
CN107748685B (zh) | 2017-11-21 | 2020-12-25 | Oppo广东移动通信有限公司 | 应用程序启动控制方法、装置、终端设备及存储介质 |
CN108076224B (zh) | 2017-12-21 | 2021-06-29 | Oppo广东移动通信有限公司 | 应用程序控制方法、装置及存储介质和移动终端 |
WO2019171237A1 (en) | 2018-03-05 | 2019-09-12 | Tensera Networks Ltd. | Application preloading in the presence of user actions |
US20190303176A1 (en) | 2018-03-29 | 2019-10-03 | Qualcomm Incorporated | Using Machine Learning to Optimize Memory Usage |
CN108595224B (zh) | 2018-04-28 | 2021-01-12 | Oppo广东移动通信有限公司 | 应用程序提示方法、装置、存储介质及终端 |
CN108647052B (zh) | 2018-04-28 | 2020-12-01 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
US11985132B2 (en) | 2018-05-02 | 2024-05-14 | Samsung Electronics Co., Ltd. | System and method for resource access authentication |
CN108595228B (zh) | 2018-05-10 | 2021-03-12 | Oppo广东移动通信有限公司 | 应用程序预测模型建立方法、装置、存储介质及移动终端 |
CN108595227A (zh) | 2018-05-10 | 2018-09-28 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及移动终端 |
CN108647056B (zh) | 2018-05-10 | 2020-04-24 | 上海瑾盛通信科技有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN108614722B (zh) | 2018-05-10 | 2020-09-08 | 上海瑾盛通信科技有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN108762831B (zh) | 2018-05-15 | 2021-11-09 | 上海瑾盛通信科技有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN108710513B (zh) * | 2018-05-15 | 2020-07-21 | Oppo广东移动通信有限公司 | 应用程序启动方法、装置、存储介质及终端 |
CN108595231B (zh) | 2018-05-15 | 2021-06-15 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及智能终端 |
CN108762839B (zh) | 2018-05-22 | 2020-12-18 | 北京小米移动软件有限公司 | 应用程序的界面显示方法及装置 |
CN108920156A (zh) | 2018-05-29 | 2018-11-30 | Oppo广东移动通信有限公司 | 应用程序预测模型建立方法、装置、存储介质及终端 |
CN108762843B (zh) | 2018-05-29 | 2020-05-05 | Oppo广东移动通信有限公司 | 应用程序的预加载方法、装置、存储介质及智能终端 |
CN108829457B (zh) | 2018-05-29 | 2020-09-29 | Oppo广东移动通信有限公司 | 应用程序预测模型更新方法、装置、存储介质及终端 |
CN108829456A (zh) | 2018-05-29 | 2018-11-16 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN108804157A (zh) | 2018-06-05 | 2018-11-13 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
-
2018
- 2018-05-15 CN CN201810463427.3A patent/CN108710513B/zh active Active
-
2019
- 2019-04-29 WO PCT/CN2019/084999 patent/WO2019218871A1/en active Application Filing
- 2019-04-30 US US16/398,837 patent/US11604660B2/en active Active
- 2019-05-09 EP EP19173437.5A patent/EP3570163B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246529A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 更新和推送导航栏的方法、设备和系统 |
CN102929532A (zh) * | 2012-09-29 | 2013-02-13 | 东莞宇龙通信科技有限公司 | 应用程序的启动方法及通信终端 |
CN104657183A (zh) * | 2015-03-09 | 2015-05-27 | 联想(北京)有限公司 | 信息处理方法、装置及电子设备 |
CN106569894A (zh) * | 2016-10-11 | 2017-04-19 | 北京元心科技有限公司 | 图片加载方法和系统 |
CN106406966A (zh) * | 2016-10-31 | 2017-02-15 | 维沃移动通信有限公司 | 一种应用程序的预加载方法及移动终端 |
CN106778248A (zh) * | 2016-12-26 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序Activity启动的方法和装置 |
CN106919313A (zh) * | 2017-04-21 | 2017-07-04 | 维沃移动通信有限公司 | 一种应用程序的启动方法及移动终端 |
CN107748686A (zh) * | 2017-11-30 | 2018-03-02 | 广东欧珀移动通信有限公司 | 应用程序的启动优化方法、装置、存储介质及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2019218871A1 (en) | 2019-11-21 |
EP3570163A1 (en) | 2019-11-20 |
CN108710513A (zh) | 2018-10-26 |
US20190354384A1 (en) | 2019-11-21 |
US11604660B2 (en) | 2023-03-14 |
EP3570163B1 (en) | 2021-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108710513B (zh) | 应用程序启动方法、装置、存储介质及终端 | |
CN108614722B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108363593B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108762843B (zh) | 应用程序的预加载方法、装置、存储介质及智能终端 | |
CN108958830B (zh) | 应用程序启动方法、装置、存储介质及终端 | |
CN108681475B (zh) | 应用程序预加载方法、装置、存储介质及移动终端 | |
CN108647055B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108647052B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108595224B (zh) | 应用程序提示方法、装置、存储介质及终端 | |
CN108829457B (zh) | 应用程序预测模型更新方法、装置、存储介质及终端 | |
CN108595230B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108958828B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108762831B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108595231B (zh) | 应用程序预加载方法、装置、存储介质及智能终端 | |
CN108804153B (zh) | 应用程序的预加载方法、装置、存储介质及终端 | |
US11099861B2 (en) | Method for preloading application, storage medium, and terminal | |
CN108762844B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108647056B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108710512B (zh) | 应用程序的预加载方法、装置、存储介质及智能终端 | |
CN108762836B (zh) | 预加载应用的管理方法、装置、存储介质及智能终端 | |
CN108664286B (zh) | 应用程序预加载方法、装置、存储介质及移动终端 | |
CN108845838B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108762838B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1260492 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |