[go: up one dir, main page]

CN108845838B - Application preloading method, device, storage medium and terminal - Google Patents

Application preloading method, device, storage medium and terminal Download PDF

Info

Publication number
CN108845838B
CN108845838B CN201810538582.7A CN201810538582A CN108845838B CN 108845838 B CN108845838 B CN 108845838B CN 201810538582 A CN201810538582 A CN 201810538582A CN 108845838 B CN108845838 B CN 108845838B
Authority
CN
China
Prior art keywords
application
preloaded
interface
preloading
preset
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
Application number
CN201810538582.7A
Other languages
Chinese (zh)
Other versions
CN108845838A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201810538582.7A priority Critical patent/CN108845838B/en
Publication of CN108845838A publication Critical patent/CN108845838A/en
Application granted granted Critical
Publication of CN108845838B publication Critical patent/CN108845838B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Landscapes

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

Abstract

本申请实施例公开了应用程序预加载方法、装置、存储介质及终端。该方法包括:检测到应用预加载事件被触发;确定待预加载应用程序;对所述待预加载应用程序进行预加载,并在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载。本申请实施例通过采用上述技术方案,在对应用程序进行预加载的过程中,可以对应用界面进行选择性的预加载,即省略一些预先设定的应用界面的预加载操作,可以提高预加载效率,并节省系统资源,降低功耗。

Figure 201810538582

The embodiments of the present application disclose an application preloading method, device, storage medium, and terminal. The method includes: detecting that an application preloading event is triggered; determining the application to be preloaded; preloading the application to be preloaded, and prohibiting the application to be preloaded during the preloading process The preset application interface in the program is preloaded. By adopting the above technical solutions in the embodiments of the present application, in the process of preloading the application program, the application interface can be selectively preloaded, that is, the preloading operation of some preset application interfaces can be omitted, which can improve the preloading process. efficiency, and save system resources and reduce power consumption.

Figure 201810538582

Description

应用程序预加载方法、装置、存储介质及终端Application preloading method, device, storage medium and terminal

技术领域technical field

本申请实施例涉及应用程序加载技术领域,尤其涉及应用程序预加载方法、装置、存储介质及终端。The embodiments of the present application relate to the technical field of application program loading, and in particular, to an application program preloading method, apparatus, storage medium, and terminal.

背景技术Background technique

目前,诸如智能手机、平板电脑、笔记本电脑以及智能家电等终端已成为人们日常生活中必不可少的电子设备。随着终端设备不断地智能化,多数终端设备中都装载有操作系统,使得终端设备能够安装丰富多样的应用程序,满足用户不同的需求。At present, terminals such as smart phones, tablet computers, notebook computers, and smart home appliances have become indispensable electronic devices in people's daily lives. With the continuous intelligence of terminal devices, most of the terminal devices are loaded with operating systems, so that the terminal devices can install a variety of application programs to meet the different needs of users.

随着终端设备的配置不断提升,多数终端设备中可以安装几十甚至上百个应用程序,而随着应用程序的功能日益丰富,应用程序运行时所需加载的资源也越来越多。当用户选择启动一个应用程序时,终端会对该应用程序启动所需的资源进行加载,待加载完毕后,进入应用程序的初始界面,整个过程通常要花费数秒甚至十几秒的时间,导致应用程序的启动效率较低,亟需改进。With the continuous improvement of the configuration of terminal devices, dozens or even hundreds of applications can be installed in most terminal devices, and as the functions of the applications become more and more abundant, more and more resources need to be loaded when the applications run. When the user chooses to start an application, the terminal will load the resources required for the application to start. After the loading is completed, the initial interface of the application is entered. The whole process usually takes several seconds or even a dozen seconds. The startup efficiency of the program is low and needs to be improved.

发明内容SUMMARY OF THE INVENTION

本申请实施例提供一种应用程序预加载方法、装置、存储介质及终端,可以优化应用程序的预加载方案。The embodiments of the present application provide an application preloading method, device, storage medium and terminal, which can optimize the application preloading scheme.

第一方面,本申请实施例提供了一种应用程序预加载方法,包括:In a first aspect, an embodiment of the present application provides a method for preloading an application, including:

检测到应用预加载事件被触发;It is detected that the application preload event is triggered;

确定待预加载应用程序;Determine the application to be preloaded;

对所述待预加载应用程序进行预加载,并在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载。The application to be preloaded is preloaded, and during the preloading process, preloading of a preset application interface in the application to be preloaded is prohibited.

第二方面,本申请实施例提供了一种应用程序预加载装置,包括:In a second aspect, an embodiment of the present application provides an application preloading device, including:

预加载事件检测模块,用于检测应用预加载事件是否被触发;The preload event detection module is used to detect whether the application preload event is triggered;

应用确定模块,用于在检测到应用预加载事件被触发时,确定待预加载应用程序;The application determination module is used to determine the application to be preloaded when it is detected that the application preloading event is triggered;

预加载模块,用于对所述待预加载应用程序进行预加载,并在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载。The preloading module is used for preloading the application to be preloaded, and during the preloading process, preloading the preset application interface in the application to be preloaded is prohibited from being preloaded.

第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的应用程序预加载方法。In a third aspect, embodiments of the present application provide a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, implements the application program preloading method described in the embodiments of the present application.

第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。In a fourth aspect, an embodiment of the present application provides a terminal, including a memory, a processor, and a computer program that is stored in the memory and can be run on the processor, and the processor executes the computer program to achieve the same implementation as the embodiment of the present application. The described application preloading method.

本申请实施例中提供的应用程序预加载方案,检测到应用预加载事件被触发后,确定待预加载应用程序,对待预加载应用程序进行预加载,并在预加载的过程中,禁止对待预加载应用程序中的预设应用界面进行预加载。通过采用上述技术方案,在对应用程序进行预加载的过程中,可以对应用界面进行选择性的预加载,即省略一些预先设定的应用界面的预加载操作,可以提高预加载效率,并节省系统资源,降低功耗。In the application preloading solution provided in the embodiment of the present application, after detecting that the application preloading event is triggered, the application to be preloaded is determined, the application to be preloaded is preloaded, and during the preloading process, the application to be preloaded is prohibited. Load the preset application interface in the application for preloading. By adopting the above technical solution, in the process of preloading the application program, the application interface can be selectively preloaded, that is, the preloading operation of some pre-set application interfaces can be omitted, which can improve the preloading efficiency and save money. system resources and reduce power consumption.

附图说明Description of drawings

图1为本申请实施例提供的一种应用程序预加载方法的流程示意图;1 is a schematic flowchart of a method for preloading an application program provided by an embodiment of the present application;

图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;2 is a schematic diagram of a relative positional relationship between a preloaded active window stack and a display area of a display screen provided by an embodiment of the present application;

图3为本申请实施例提供的又一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;3 is a schematic diagram of a relative positional relationship between another preloaded active window stack and a display area of a display screen provided by an embodiment of the present application;

图4为本申请实施例提供的一种应用界面迁移示意图;FIG. 4 is a schematic diagram of application interface migration provided by an embodiment of the present application;

图5为本申请实施例提供的另一种应用程序预加载方法的流程示意图;5 is a schematic flowchart of another application preloading method provided by an embodiment of the present application;

图6为本申请实施例提供的又一种应用程序预加载方法的流程示意图;FIG. 6 is a schematic flowchart of another application preloading method provided by an embodiment of the present application;

图7为本申请实施例提供的一种应用程序预加载装置的结构框图;FIG. 7 is a structural block diagram of an application preloading apparatus provided by an embodiment of the present application;

图8为本申请实施例提供的一种移动终端的结构示意图;FIG. 8 is a schematic structural diagram of a mobile terminal according to an embodiment of the present application;

图9为本申请实施例提供的又一种移动终端的结构示意图。FIG. 9 is a schematic structural diagram of another mobile terminal according to an embodiment of the present application.

具体实施方式Detailed ways

下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。The technical solutions of the present application will be further described below with reference to the accompanying drawings and through specific embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application. In addition, it should be noted that, for the convenience of description, the drawings only show some but not all the structures related to the present application.

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。Before discussing the exemplary embodiments in greater detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowchart depicts the steps as a sequential process, many of the steps may be performed in parallel, concurrently, or concurrently. Furthermore, the order of the steps can be rearranged. The process may be terminated when its operation is complete, but may also have additional steps not included in the figures. The processes may correspond to methods, functions, procedures, subroutines, subroutines, and the like.

图1为本申请实施例提供的一种应用程序预加载方法的流程示意图,该方法可以由应用程序预加载装置执行,其中该装置可由软件和/或硬件实现,一般可集成在终端中。如图1所示,该方法包括:1 is a schematic flowchart of an application preloading method provided by an embodiment of the present application. The method may be executed by an application preloading apparatus, where the apparatus may be implemented by software and/or hardware, and may generally be integrated in a terminal. As shown in Figure 1, the method includes:

步骤101、检测到应用预加载事件被触发。Step 101. It is detected that an application preloading event is triggered.

示例性的,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑以及智能家电等终端设备。终端中装载有操作系统。Exemplarily, the terminals in the embodiments of the present application may include terminal devices such as mobile phones, tablet computers, notebook computers, and smart home appliances. An operating system is loaded into the terminal.

示例性的,应用预加载事件的触发条件可以根据实际情况设置,本申请实施例不作具体限定。例如,可以在检测到用户的动作满足预设条件(如拿起终端、输入屏幕解锁操作或输入终端解锁操作等)时,触发应用预加载事件;或者可以在检测到前台应用程序发生变更时,触发应用预加载事件;或者可以在预加载应用的预测流程结束后,立即(或经过预设时长后)触发应用预加载事件;或者可以定时间隔触发等等。当应用预加载事件被触发后,系统可以通过读取标志位或接收触发指令等方式检测到应用预加载事件已被触发,具体的检测方式本申请实施例也不做限定。Exemplarily, the triggering condition of the application preloading event may be set according to the actual situation, which is not specifically limited in this embodiment of the present application. For example, an application preloading event can be triggered when it is detected that the user's action meets a preset condition (such as picking up the terminal, inputting a screen unlocking operation, or inputting a terminal unlocking operation, etc.); or when it is detected that the foreground application has changed, The application preloading event is triggered; or the application preloading event can be triggered immediately (or after a preset duration) after the prediction process of preloading the application ends; or the application preloading event can be triggered at regular intervals, and so on. After the application preloading event is triggered, the system can detect that the application preloading event has been triggered by reading a flag bit or receiving a trigger instruction, and the specific detection method is not limited in the embodiment of the present application.

步骤102、确定待预加载应用程序。Step 102: Determine the application to be preloaded.

示例性的,待预加载应用程序可以理解为用户可能即将打开的应用程序,可以是预先设置好的固定的应用程序,也可以是采用一定的方式预测出来的应用程序等。待预加载应用程序可以包括一个或多个。Exemplarily, the application to be preloaded may be understood as an application that the user may be about to open, which may be a preset fixed application, or an application predicted in a certain manner, or the like. The application to be preloaded may include one or more.

为了提高应用程序的启动速度,在终端设备上,对应用程序进行预加载是一种常用且有效提升用户体验的方法,预测出用户可能即将使用的应用程序,通过提前把这些应用的启动资源准备好,使其在真正被用户打开时,能够快速启动。相关技术中,主要是基于统计的方法对应用程序进行预加载,比如用户最常用的应用程序可能只有几个,将这几个应用程序全部进行预加载。然而,上述方式过于简单粗暴,导致预加载应用程序的预测精度及准确度不够,因此,为了提高预测准确度,本申请实施例中,可采用预测模型对待预加载的应用程序进行预测。该预测模型可以是机器学习模型,所采用的算法可以包括循环神经网络(Recurrent neural networks,RNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等等。In order to improve the startup speed of applications, on terminal devices, preloading applications is a common and effective method to improve user experience. It predicts the applications that users may be using, and prepares the startup resources of these applications in advance. Well, so that it can start quickly when it is actually opened by the user. In the related art, applications are preloaded mainly based on statistical methods. For example, there may be only a few applications that are most commonly used by the user, and all these applications are preloaded. However, the above method is too simple and rude, resulting in insufficient prediction accuracy and accuracy of the preloaded application. Therefore, in order to improve the prediction accuracy, in this embodiment of the present application, a prediction model may be used to predict the application to be preloaded. The prediction model may be a machine learning model, and the algorithms used may include Recurrent Neural Networks (RNN), Long Short-Term Memory (LSTM) networks, Threshold Recurrent Units, Simple Recurrent Units, Auto-encoding algorithm, decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-Nearest Neighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model and KL divergence (Kullback – Leibler divergence) and so on.

可选的,可在用户使用终端的过程中,采集训练样本,采用训练样本对预设初始模型进行训练,最终得到用于预测待预加载的应用程序的预测模型。示例性的,训练样本中包含的元素可包括应用程序被打开的时间序列或次序序列;可包括应用程序被打开的时间、地点以及频次等;可包括终端的运行状态,如移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等。Optionally, in the process of using the terminal, the user may collect training samples, use the training samples to train the preset initial model, and finally obtain a prediction model for predicting the application to be preloaded. Exemplarily, the elements contained in the training samples may include the time sequence or sequence sequence when the application is opened; may include the time, location, and frequency when the application is opened; may include the running state of the terminal, such as the switch of the mobile data network. Status, the connection status of the wireless hotspot, the identity information of the connected wireless hotspot, the currently running application, the last foreground application, the duration of the current application staying in the background, the last time the current application was switched to the background, The plug-in status, charging status, battery power information, and screen display time of the headphone jack, etc.; it can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.

示例性的,可根据所选用的机器学习模型选择合适的样本元素,也可根据所选的样本元素确定所选用的机器学习模型,还可结合对预测准确度以及预设速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。Exemplarily, appropriate sample elements can be selected according to the selected machine learning model, or the selected machine learning model can be determined according to the selected sample elements, and can also be carried out in combination with the requirements for prediction accuracy and preset speed. Selection of models and sample elements, etc., are not limited in the embodiments of the present application.

本申请实施例中,确定待预加载应用程序可以包括根据预测模型之前的输出结果确定待预加载应用程序,也可以包括利用预测模型进行预测,将预测模型的当前输出结果确定待预加载应用程序。In this embodiment of the present application, determining the application program to be preloaded may include determining the application program to be preloaded according to the previous output result of the prediction model, or may include using the prediction model to make predictions, and determining the current output result of the prediction model to determine the application program to be preloaded .

本申请实施例中,当待预加载应用程序为多个(N个)时,预测模型可以输出候选应用程序集合中每个候选应用集合的启动概率,将启动概率较高的候选应用确定为待预加载应用程序。可选的,所述确定待预加载应用程序,包括:预测候选应用程序的启动概率;将启动概率较高的预设数值个候选应用程序确定为待预加载应用程序。示例性的,候选应用程序可包括终端中安装的所有应用程序,也可包括部分应用程序。部分应用程序可以不包含系统应用程序,还可以不包含用户很少使用的应用程序。本申请实施例对候选应用程序的确定方式以及数量不做限定。可选的,可根据当前时刻之前的预设时段内各应用程序的使用次数和/或使用时长确定候选应用程序,预设时段例如是1个月,当使用次数和/或使用时长超过相应的阈值时,将所对应的应用程序确定为候选应用程序,或者,按照使用次数和/或使用时长对各应用程序进行排序,将排名靠前的应用程序确定为候选应用程序。In this embodiment of the present application, when there are multiple (N) applications to be preloaded, the prediction model may output the activation probability of each candidate application set in the candidate application set, and determine the candidate application with a higher activation probability as the to-be-preloaded application. Preload the application. Optionally, the determining of the application to be preloaded includes: predicting the activation probability of the candidate application; and determining a preset number of candidate applications with a higher activation probability as the application to be preloaded. Exemplarily, the candidate applications may include all applications installed in the terminal, and may also include some applications. Some applications may not include system applications or applications that are rarely used by users. The embodiments of the present application do not limit the manner and quantity of candidate application programs. Optionally, candidate applications can be determined according to the number of times of use and/or the duration of use of each application within a preset period before the current moment. The preset period is, for example, one month. When the threshold is reached, the corresponding application is determined as a candidate application, or the applications are sorted according to the number of times of use and/or the duration of use, and the top ranked application is determined as a candidate application.

示例性的,可采用上文所述的预测模型来确定各候选应用程序的启动概率。例如,按照预测模型训练时的训练样本,采集当前样本,将当前样本输入至预测模型中,得到各候选应用程序的启动概率。可对启动概率进行由高到低的排序,将排在前N(N为预设数值)的候选应用程序确定为待加载应用程序。这样设置的好处在于,能够对多个应用程序进行预加载,且这多个应用程序是根据启动概率来确定的,可以提高预测的准确性。Exemplarily, the prediction model described above can be used to determine the activation probability of each candidate application. For example, the current sample is collected according to the training sample during the training of the prediction model, and the current sample is input into the prediction model to obtain the startup probability of each candidate application program. The startup probability can be sorted from high to low, and the candidate application programs in the top N (N is a preset value) are determined as the application programs to be loaded. The advantage of this setting is that multiple applications can be preloaded, and the multiple applications are determined according to the startup probability, which can improve the accuracy of prediction.

步骤103、对所述待预加载应用程序进行预加载,并在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载。Step 103: Preload the application to be preloaded, and during the preloading process, prohibit preloading the preset application interface in the application to be preloaded.

本申请实施例中,当待预加载应用程序仅有一个时,无需考虑应用的预加载顺序;而当待预加载应用程序有多个时,可将多个待预加载应用程序逐一确定为当前待预加载应用程序,并依次进行预加载操作,也可将2个以上待预加载的应用程序确定为当前待预加载应用程序,并同时进行预加载操作,也就是说多个应用程序的预加载过程可以是并行进行的。In the embodiment of the present application, when there is only one application to be preloaded, the preloading sequence of the applications does not need to be considered; and when there are multiple applications to be preloaded, the multiple applications to be preloaded can be determined one by one as the current application Applications to be preloaded and preloaded in sequence, or more than two applications to be preloaded may be determined as the current applications to be preloaded, and preloaded simultaneously, that is, the preloading of multiple applications. The loading process can be performed in parallel.

本申请实施例中对预加载的具体过程以及所加载的资源不做限定,例如可为待预加载应用程序分配相应的硬件资源,并基于分配的硬件资源加载启动所需的相关数据。示例性的,可包括应用进程启动、应用服务启动、内存分配、文件内容读取、网络数据获取以及界面渲染(即对应用界面进行预加载)等。此外,预加载的资源也可根据待预加载应用程序的具体类型来确定。为了提高预加载的完成度,本申请实施例中,会对待预加载应用程序的应用界面进行预加载。然而,在预加载过程中所涉及到的应用界面并非均被用户所需要,且一般预加载是在用户不可见的情况下进行的,若对所有应用界面均进行预加载,那么就会浪费较多的系统资源,如中央处理器(Central Process Unit,CPU)或图形处理器(Graphics Processing Unit,GPU)等资源,不仅会增加系统功耗,而且也影响预加载速度。本申请实施例中,可预先确定不需要进行预加载的部分应用界面,在预加载过程中,当检测到当前需要预加载的应用界面属于这类应用界面时,禁止对该应用界面进行预加载。The specific process of preloading and the loaded resources are not limited in the embodiments of the present application. For example, corresponding hardware resources may be allocated to the application to be preloaded, and relevant data required for startup may be loaded based on the allocated hardware resources. Exemplarily, it may include application process startup, application service startup, memory allocation, file content reading, network data acquisition, and interface rendering (ie, preloading the application interface), and the like. In addition, the preloaded resources can also be determined according to the specific type of the application to be preloaded. In order to improve the completion degree of preloading, in this embodiment of the present application, the application interface of the application to be preloaded is preloaded. However, not all application interfaces involved in the preloading process are required by the user, and generally preloading is performed when the user is invisible. If all application interfaces are preloaded, it will waste more time. A large number of system resources, such as a central processing unit (Central Process Unit, CPU) or a graphics processing unit (Graphics Processing Unit, GPU) and other resources, not only increases the system power consumption, but also affects the preloading speed. In this embodiment of the present application, part of the application interface that does not need to be preloaded may be pre-determined. During the preloading process, when it is detected that the application interface currently requiring preloading belongs to this type of application interface, preloading the application interface is prohibited. .

本申请实施例中提供的应用程序预加载方法,检测到应用预加载事件被触发后,确定待预加载应用程序,对待预加载应用程序进行预加载,并在预加载的过程中,禁止对待预加载应用程序中的预设应用界面进行预加载。通过采用上述技术方案,在对应用程序进行预加载的过程中,可以对应用界面进行选择性的预加载,即省略一些预先设定的应用界面的预加载操作,可以提高预加载效率,并节省系统资源,降低功耗。In the application preloading method provided in the embodiment of the present application, after detecting that an application preloading event is triggered, the application to be preloaded is determined, the application to be preloaded is preloaded, and during the preloading process, the application to be preloaded is prohibited. Load the preset application interface in the application for preloading. By adopting the above technical solution, in the process of preloading the application program, the application interface can be selectively preloaded, that is, the preloading operation of some pre-set application interfaces can be omitted, which can improve the preloading efficiency and save money. system resources and reduce power consumption.

在一些实施例中,对所述待预加载应用程序进行预加载,包括:基于预先创建的预加载活动窗口堆栈显示所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。在屏幕外进行预加载,预加载过程对用户不可见,不会影响到前台应用程序的显示内容在显示屏幕上的显示。In some embodiments, preloading the application to be preloaded includes: displaying an application interface corresponding to the application to be preloaded based on a pre-created stack of preloaded active windows, wherein the preloaded active window The bounding coordinates corresponding to the stack are outside the coordinate range of the display screen. Preloading is performed off-screen, and the preloading process is invisible to the user and will not affect the display of the display content of the foreground application on the display screen.

本申请实施例中,活动窗口可理解为一个独立的直接面向用户提供交互和操作的界面,在不同的操作系统中可能采用不同的名词来命名该界面。为了便于理解,下面以安卓(Android)操作系统为例进行下面的说明。In this embodiment of the present application, the active window may be understood as an independent interface that directly provides interaction and operation to the user, and different nouns may be used to name the interface in different operating systems. For ease of understanding, the following description is made by taking an Android (Android) operating system as an example.

在Android系统中,活动窗口被称为Activity。Activity是一个负责与用户交互的组件,其提供一个屏幕(可以理解为屏幕界面,而非实体的显示屏幕),以供用户交互完成某项任务。在一个android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件。在对Activity进行管理中,有这样两个概念:Task(任务栈)和Stack(活动窗口堆栈)。Task对应一个应用程序,Task用于存放Activity,一个Task中可以存放一个或多个Activity,且这些Activity遵循“先进后出,后进先出”的原则。而Stack又用于对Task进行管理,通常,一个Stack对一个屏幕所需展示的各Activity所属的Task进行管理,一个Stack可以管理一个或多个Task,当然,Stack也同样遵循堆栈的基本管理原则。这里所述的屏幕并不一定是完整独立的显示屏,以“两个屏幕”为例,这两个屏幕可能只是一个完整显示屏中两个独立显示各自显示内容的区域。当然,如果终端具备两个甚至是两个以上的独立显示屏,则“两个屏幕”也可以是两个独立的显示屏。In the Android system, the active window is called Activity. Activity is a component responsible for interacting with the user, which provides a screen (which can be understood as a screen interface, rather than an entity display screen) for the user to interact to complete a certain task. In an android application, an Activity is usually a separate screen, which can display some controls and listen to and handle user events. In the management of Activity, there are two concepts: Task (task stack) and Stack (active window stack). Task corresponds to an application, Task is used to store Activity, and a Task can store one or more Activities, and these Activities follow the principle of "first in, last out, last in first out". The Stack is also used to manage the Task. Usually, a Stack manages the Task to which each Activity needs to be displayed on a screen. A Stack can manage one or more Tasks. Of course, the Stack also follows the basic management principles of the stack. . The screens described here are not necessarily complete and independent display screens. Taking "two screens" as an example, the two screens may be just two areas in a complete display screen that independently display their respective display contents. Of course, if the terminal has two or even more than two independent display screens, the "two screens" may also be two independent display screens.

在Android系统中,支持多窗口模式,可包括分屏模式、画中画模式以及自由模式(FreeForm)。在多窗口模式下,应用程序所在的Stack可以有自己的尺寸(size),可以包括以终端屏幕左上角为原点的坐标系中的上下左右坐标。例如,(a,b,c,d),一般描述的是一个矩形的边界,可采用矩形左上角的坐标和右下角的坐标进行表示,即矩形的左上角坐标为(a,b),右下角坐标为(c,d),这样的矩形区域就对应Stack的size。Stack中的应用内布局是以Stack的size为准的,也就是说Activity对应的应用界面是在size的边界范围内进行显示的。In the Android system, multi-window modes are supported, including split-screen mode, picture-in-picture mode, and FreeForm. In multi-window mode, the stack where the application is located can have its own size (size), which can include up, down, left, and right coordinates in the coordinate system with the upper left corner of the terminal screen as the origin. For example, (a, b, c, d) generally describes the boundary of a rectangle, which can be represented by the coordinates of the upper left corner and the lower right corner of the rectangle, that is, the coordinates of the upper left corner of the rectangle are (a, b), the right The coordinates of the lower corner are (c, d), and such a rectangular area corresponds to the size of the Stack. The in-app layout in the Stack is based on the size of the Stack, which means that the application interface corresponding to the Activity is displayed within the bounds of the size.

在多窗口模式下,可以允许多个应用程序处于可见状态,包括系统和用户均可见和仅系统可见。系统和用户均可见指的是在显示屏幕上进行显示,且用户能够看到;仅系统可见指的是操作系统可见,而用户不可见,可能被前台的应用遮挡或者如本申请所要实现的在显示屏幕外显示。In multi-window mode, multiple applications can be allowed to be visible, both system and user visible and system-only. Visible to both the system and the user means that it is displayed on the display screen and can be seen by the user; only visible to the system means that the operating system is visible, but the user is invisible, and may be blocked by the application in the foreground or as the application intends to achieve. Display off-screen display.

本申请实施例中,在显示屏幕外对待预加载应用程序的应用界面进行预加载,可以基于操作系统的多窗口机制来实现,通过多窗口机制将应用程序对应的size设在显示屏幕外而达到对用户不可见的目的,从而不会影响到前台应用程序的显示内容在显示屏幕上的显示。In the embodiment of the present application, preloading the application interface of the application to be preloaded outside the display screen can be realized based on the multi-window mechanism of the operating system, and the size corresponding to the application program is set outside the display screen through the multi-window mechanism. The purpose is invisible to the user, so that it will not affect the display of the display content of the foreground application on the display screen.

一般的,多窗口模式下,可以存在多种类型的Stack,如Home Stack表示桌面应用显示的Stack,App Stack表示第三方应用显示,还可以有其他分屏Stack等。本申请实施例中,新增了预加载活动窗口堆栈(预加载Stack),用于表示预加载应用显示的Stack,并设置预加载Stack的边界坐标位于显示屏幕的坐标范围之外,待预加载的应用程序可以显示在该Stack。对于Android系统来说,可以基于Android系统的多窗口机制,新建一个专门用于显示预加载应用的Stack。本申请实施例中,新建Stack是因为可以让新建的预加载Stack拥有自己的size以及可见性,从而实现在显示屏幕外预加载的目的。Generally, in the multi-window mode, there can be multiple types of Stacks, such as Home Stack, which represents the Stack displayed by desktop applications, App Stack, which represents the display of third-party applications, and other split-screen Stacks. In the embodiment of the present application, a preloaded active window stack (preloaded Stack) is newly added, which is used to represent the stack displayed by the preloaded application, and the boundary coordinates of the preloaded stack are set outside the coordinate range of the display screen, and the preloaded stack is to be preloaded. applications can be displayed in this stack. For the Android system, based on the multi-window mechanism of the Android system, a new Stack dedicated to displaying preloaded applications can be created. In the embodiment of the present application, the reason for creating a new stack is that the newly created preloaded stack can have its own size and visibility, so as to achieve the purpose of preloading outside the display screen.

本申请实施例中,对预加载Stack的创建时机不做限定,可以是在终端出厂前默认设置预加载Stack处于常驻状态,即预加载Stack一直存在;也可以在终端开机时或终端解锁成功后创建;还可以在应用预加载事件被触发后(可以在确定待预加载应用程序之前)创建等等。可选的,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:判断是否存在预先创建的预加载活动窗口堆栈;若不存在,则按照预设规则创建预加载活动窗口堆栈;基于所创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。这样设置的好处在于,在确定待预加载的待预加载应用程序之后,判断预加载Stack是否存在,若存在,则无需新建,若不存在,则进行创建,可以节省系统资源。可以理解的是,当待预加载应用程序包含多个时,也即需要在短时间内连续预加载多个应用程序时,在第一个待预加载应用程序开始加载前,预加载Stack已创建完毕,那么第二个待预加载应用程序开始加载前,预加载Stack是存在的,可以不必进行上述判断。In the embodiment of the present application, the creation timing of the preloaded stack is not limited. It can be that the preloaded stack is set to be in a resident state by default before the terminal leaves the factory, that is, the preloaded stack always exists; it can also be when the terminal is powered on or the terminal is successfully unlocked. Created after; it can also be created after the application preload event is triggered (it can be before the application to be preloaded is determined), and so on. Optionally, preloading the application interface corresponding to the application to be preloaded based on the pre-created preloading active window stack includes: judging whether there is a pre-created preloading active window stack; A rule is set to create a preloaded active window stack; based on the created preloaded active window stack, an application interface corresponding to the application to be preloaded is preloaded. The advantage of this setting is that after determining the application to be preloaded to be preloaded, it is determined whether the preloaded stack exists. If it exists, there is no need to create a new one. It is understandable that when there are multiple applications to be preloaded, that is, when multiple applications need to be preloaded continuously in a short period of time, before the first application to be preloaded starts to load, the preload stack has been created. After that, before the second application to be preloaded starts to load, the preload stack exists, and the above judgment is not necessary.

本申请实施例中,对基于预加载Stack预加载待预加载应用程序对应的应用界面的具体过程不做限定,例如可以基于预加载Stack的size进行应用界面的绘制并显示等。In this embodiment of the present application, the specific process of preloading the application interface corresponding to the application to be preloaded based on the preloading Stack is not limited, for example, the application interface may be drawn and displayed based on the size of the preloaded Stack.

在一些实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:创建所述待预加载应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述待预加载应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述待预加载应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述待预加载应用程序对应的应用界面。这样设置的好处在于,能够基于屏幕坐标范围之外的预加载活动窗口堆栈对待预加载应用程序的应用界面进行绘制并显示,不会干扰前台应用程序的运行及显示,保证系统稳定性,同时有效提高待预加载应用程序启动时的速度。在创建目标进程的同时,还可包括目标进程的初始化过程。在上述步骤的执行过程中,还可能涉及其他资源的预加载,如应用服务启动、内存分配、文件内容读取及网络数据获取等,本申请实施例对其他资源的预加载过程不做限定。In some embodiments, the preloading the application interface corresponding to the application to be preloaded based on the pre-created preloading active window stack includes: creating a target process corresponding to the application to be preloaded; Create a task stack corresponding to the application to be preloaded in the preloading active window stack; start the active window corresponding to the application to be preloaded in the task stack based on the target process; draw based on the activated active window and displaying the application interface corresponding to the application to be preloaded. The advantage of this setting is that the application interface of the application to be preloaded can be drawn and displayed based on the stack of preloaded active windows outside the range of screen coordinates, without interfering with the running and display of the foreground application, ensuring system stability, and at the same time effectively Improves the speed at which the application to be preloaded starts. When the target process is created, the initialization process of the target process can also be included. During the execution of the above steps, preloading of other resources may also be involved, such as application service startup, memory allocation, file content reading, and network data acquisition, etc. The embodiment of the present application does not limit the preloading process of other resources.

在一些实施例中,还包括:向所述待预加载应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述待预加载应用程序对应的应用界面的持续绘制以及显示更新。这样设置的好处在于,能够在待预加载应用程序获得焦点并对系统可见的情况下完成应用界面的绘制及显示,提高预加载的完成度,且不对前台应用的焦点产生影响。本申请实施例中的焦点又称为输入焦点,伪造焦点与前台应用对应的焦点相互独立。一般的,对于目前的Android系统来说,焦点是唯一的,例如触摸等输入操作只对焦点生效,对于输入焦点信息,系统端和应用端是一致的,系统端一旦修改输入焦点信息,就会向应用发送输入焦点信息发生变化的信息,以此方法保证系统端和应用端输入焦点信息一致。本申请实施例中,通过分离系统端和应用端输入焦点信息的方式,实现应用端可伪造焦点的目的。具体的,本申请实施例中,对预加载应用伪造焦点通知,使预加载应用具有焦点信息,而系统端的焦点信息仍然是正确的,这样处理可以使得预加载应用能够正常绘制,达到全部加载的目的。焦点存在于系统端和应用端,可认为是服务端(server)和客户端(client),系统端记录拥有焦点的应用,应用端保存标志位(flag)标识自己是否有焦点。伪造输入焦点的时机可以是当Android的窗口系统新增窗口,需要更新焦点时,生成伪造焦点通知并进行发送。伪造焦点的方法可以是调用窗口的client端的改变窗口焦点的方法,使得该窗口获取焦点。具体的,可基于Binder机制进行伪造焦点通知的发送,Binder机制是Android系统的进程间通信的最常用的方式,采用c/s架构,即客户/服务架构。本申请实施例中,预设时间段可根据实际情况设计,例如可以是开始预加载后的固定时长范围内,也可以是开始预加载到完成预加载的时段等。In some embodiments, the method further includes: sending a fake focus notification to the application to be preloaded, and maintaining continuous drawing of an application interface corresponding to the application to be preloaded for a preset period of time based on the fake focus notification and display updates. The advantage of this setting is that the drawing and display of the application interface can be completed when the application to be preloaded has the focus and is visible to the system, improving the completion of the preloading without affecting the focus of the foreground application. The focus in this embodiment of the present application is also called the input focus, and the fake focus and the focus corresponding to the foreground application are independent of each other. In general, for the current Android system, the focus is unique. For example, input operations such as touch only take effect on the focus. For input focus information, the system side and the application side are consistent. Once the system side modifies the input focus information, it will Send the information that the input focus information changes to the application, in this way, ensure that the input focus information on the system side and the application side are consistent. In this embodiment of the present application, by separating the input of focus information at the system end and the application end, the purpose of forging the focus at the application end is achieved. Specifically, in this embodiment of the present application, the preloaded application is forged a focus notification, so that the preloaded application has focus information, while the focus information on the system side is still correct. This processing can enable the preloaded application to draw normally and achieve full loading. Purpose. The focus exists on the system side and the application side, which can be considered as the server (server) and the client (client). The timing for faking the input focus can be when a new window is added to the Android window system and the focus needs to be updated, a fake focus notification is generated and sent. The method of forging the focus may be to call the method of changing the focus of the window on the client side of the window, so that the window obtains the focus. Specifically, the forged focus notification can be sent based on the Binder mechanism. The Binder mechanism is the most common way of inter-process communication in the Android system, and adopts the c/s architecture, that is, the client/service architecture. In this embodiment of the present application, the preset time period may be designed according to the actual situation, for example, it may be within a fixed period of time after starting preloading, or may be a period from starting preloading to completing preloading, or the like.

对于一些终端来说,尤其是手机及平板电脑等移动终端,为了方便用户的使用,显示屏幕的显示方式通常包括竖屏显示和横屏显示,许多应用程序默认采用竖屏方式进行显示,而有些应用程序默认采用横屏方式进行显示(如一些网络游戏),在终端的使用过程中,有些应用程序还会随着用户握持终端的方向而进行横竖屏显示的切换。在本申请的一些实施例中,所述预加载活动窗口堆栈对应的边界坐标为(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为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。For some terminals, especially mobile terminals such as mobile phones and tablet computers, in order to facilitate the use of users, the display modes of the display screen usually include vertical screen display and horizontal screen display. Many applications are displayed in vertical screen mode by default, while some By default, applications are displayed in a horizontal screen mode (such as some online games). During the use of the terminal, some applications will also switch between horizontal and vertical screen display according to the direction in which the user holds the terminal. In some embodiments of the present application, the boundary coordinates corresponding to the preloaded active window stack are (H, 0, 2H, H), the coordinate system corresponding to the boundary coordinates is system coordinates, and the origin of the system coordinates is In the upper left corner of the display screen, H is the length of the long side of the display area of the display screen. That is to say, the side corresponding to H is the largest side of the display area of the display screen, which is the height of the display screen when it is displayed in a vertical screen, and the width of the display screen when it is displayed in a horizontal screen. The purpose of this setting is to take into account the horizontal display of the display screen, the horizontal display of preloaded applications, and the normal display of some applications. FIG. 2 is a schematic diagram of a relative positional relationship between a preloaded active window stack and a display area of a display screen according to an embodiment of the present application. As shown in FIG. 2, the display screen is in a vertical screen mode at this time, the origin of the terminal system coordinates is the left vertex (0, 0) of the display screen 201, the width direction of the display screen 201 is the X axis, and the height direction is the Y axis. The boundary coordinates corresponding to the loading Stack202 are (H, 0, 2H, H), where H is the height of the screen, that is, the area within the rectangle with the solid line on the left is the main screen display area, and the area within the rectangle with the dotted line on the right is the preload display area. FIG. 3 is a schematic diagram of a relative positional relationship between another preloaded active window stack and a display area of a display screen according to an embodiment of the present application. As shown in FIG. 3 , the display screen is in a landscape mode at this time, the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 301 , the height direction of the display screen 301 is the X axis, the width direction is the Y axis, and the preset The boundary coordinates corresponding to the loading Stack202 are (H, 0, 2H, H), where H is the height of the screen, that is, the area within the rectangle with the solid line on the left is the main screen display area, and the area within the rectangle with the dotted line on the right is the preload display area.

预加载Stack各个边界如此设置的原因在于:The reason why the boundaries of the preload stack are set like this is that:

左上角的横坐标为H,是为了防止横屏时显示屏幕(也可称为主屏幕)显示到预加载应用的界面,因为主屏幕除了竖屏模式,还有横屏模式,当主屏幕横屏的时候,为了防止主屏幕显示区域显示了预加载的应用的局部,所以将预加载Stack对应的矩形区域的左上角横坐标设为屏幕高。The abscissa of the upper left corner is H, which is to prevent the display screen (also called the main screen) from being displayed to the interface of the preloaded application when the screen is horizontal, because the main screen has a horizontal screen mode in addition to the vertical screen mode. When the main screen is horizontal screen , in order to prevent the display area of the main screen from displaying a part of the preloaded application, the abscissa of the upper left corner of the rectangular area corresponding to the preloaded Stack is set as the screen height.

左上角的纵坐标为0,是为了预加载应用能够正确计算状态栏高度。Android应用为了更好的设计用户界面(User Interface,UI),会自定义顶部状态栏,如果上边对应的纵坐标不等于0,那么状态栏的高度可能会错误。The vertical coordinate of the upper left corner is 0, so that the preloaded application can correctly calculate the height of the status bar. In order to better design the user interface (UI), the Android application will customize the top status bar. If the ordinate corresponding to the top is not equal to 0, the height of the status bar may be wrong.

右下角的横坐标为2H(2倍屏幕高),即预加载Stack对应的矩形的宽=屏幕高,是为了预加载Stack的size能够包含预加载时候的横屏应用(即应用界面为横屏显示方式的应用程序)。The abscissa of the lower right corner is 2H (2 times the screen height), that is, the width of the rectangle corresponding to the preloaded Stack = the height of the screen, so that the size of the preloaded Stack can include the horizontal screen application during preloading (that is, the application interface is horizontal screen). display mode application).

右下角的纵坐标为H,即预加载Stack对应的矩形的高=屏幕高,是为了预加载Stack的size能够包含预加载时候的竖屏应用。The vertical coordinate of the lower right corner is H, that is, the height of the rectangle corresponding to the preloaded Stack = the height of the screen, so that the size of the preloaded Stack can include the vertical screen application during preloading.

基于上述的原因,发明人将预加载Stack的size设置为(H,0,2H,H)。Based on the above reasons, the inventors set the size of the preloaded Stack to (H, 0, 2H, H).

在一些实施例中,所述预设应用界面包括启动页界面和/或预设切换动画界面。In some embodiments, the preset application interface includes a startup page interface and/or a preset switching animation interface.

其中,启动页又称为闪屏(Splash screen)、启示窗口(Starting window)或预览窗口(Preview Window)等,一般指的是打开应用的第一个页面,最初是为了应用能够迅速打开,防止出现白屏或者黑屏,启动页显示期间后台可以进行主页面的加载,现在启动页常用来展示应用程序的品牌、活动宣传以及广告等信息。本申请实施例中的启动页可以是静态页面也可以是动态页面,其中动态页面可包括动画页面或连续动态切换的页面等,本申请实施例不作具体限定。当打开一个Activity时,如果这个Activity所属的应用程序还没有在运行,系统会为这个Activity所属的应用创建一个进程,但进程的创建与初始化都需要时间,在这个动作完成之前系统如果没有任何反应的话,用户可能还以为没有点到相应的位置,所以就出现了启动页来解决这一问题。启动页可理解为一个用于在应用程序进程创建并初始化成功前显示的临时窗口,在程序初始化完成前显示这个窗口,以告知用户系统已经知道了他要打开这个应用程序并做出了响应,当程序初始化完成后显示用户可操作的人机交互界面(如应用程序的主页面),并移除启动页窗口。Among them, the startup page is also called the splash screen (Splash screen), the enlightenment window (Starting window) or the preview window (Preview Window), etc., generally refers to the first page to open the application, initially for the application to be able to open quickly, to prevent When a white or black screen appears, the main page can be loaded in the background while the startup page is displayed. Now the startup page is often used to display information such as the branding, event promotion, and advertisement of the application. The startup page in the embodiment of the present application may be a static page or a dynamic page, wherein the dynamic page may include an animation page or a page that is continuously dynamically switched, which is not specifically limited in the embodiment of the present application. When opening an Activity, if the application to which the Activity belongs is not running, the system will create a process for the application to which the Activity belongs, but the creation and initialization of the process take time, and if the system does not respond before this action is completed If it is, the user may think that the corresponding position is not clicked, so the startup page appears to solve this problem. The startup page can be understood as a temporary window displayed before the application process is created and initialized successfully. This window is displayed before the program initialization is completed to inform the user that the system has known that he wants to open the application and responded. When the program initialization is completed, a user-operable human-computer interaction interface (such as the main page of the application program) is displayed, and the startup page window is removed.

在一些实施例中,当所述预设应用界面包括启动页界面时,所述在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载,包括:在所述预加载的过程中,在检测到活动窗口管理服务中的启动页界面显示函数即将被调用时,禁止调用所述启动页界面显示函数。这样设置的好处在于,能够快速准确地禁止启动页界面的显示。以安卓系统为例,在应用程序的activity管理服务(ActivityManagerService)中有专门的函数启动页界面显示函数(showStartingWindow)用以处理显示启动页。一般的,在应用程序的进程被创建时或创建后,就会调用启动页界面显示函数,来避免白屏或黑屏等现象发生,因此,可在检测到待预加载应用程序的进程开始创建时,认为检测到活动窗口管理服务中的启动页界面显示函数即将被调用,此时来禁止对启动页界面显示函数的调用。In some embodiments, when the preset application interface includes a startup page interface, the preloading of the preset application interface in the application to be preloaded is prohibited during the preloading process, including: : During the preloading process, when it is detected that the startup page interface display function in the active window management service is about to be called, the startup page interface display function is prohibited from being called. The advantage of this setting is that the display of the startup page interface can be quickly and accurately prohibited. Taking the Android system as an example, there is a special function startup page interface display function (showStartingWindow) in the activity management service (ActivityManagerService) of the application program to process and display the startup page. Generally, when or after the process of the application program is created, the interface display function of the startup page is called to avoid the occurrence of white screen or black screen. Therefore, it can be detected when the process of the application to be preloaded starts to be created. , it is considered that it is detected that the startup page interface display function in the active window management service is about to be called, and the invocation of the startup page interface display function is prohibited at this time.

当所述预设应用界面包括启动页界面时,所述在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载,也可包括:在所述预加载的过程中,在调用活动窗口管理服务中的启动页界面显示函数时,通过所述启动页界面显示函数判断当前启动页界面是否属于待预加载应用程序;若是,则禁止显示所述当前启动页界面。这样设置的好处在于,能够准确判断待显示的启动页界面是否属于待预加载应用程序,并在确定属于待预加载应用程序时,及时停止该启动页界面的显示。本申请实施例可保留对启动页界面显示函数的调用步骤,保证应用程序预加载的稳定性,并对该函数进行改进,在该函数中增加判断的逻辑,从而在该函数中判断出当前需要进行显示的启动页界面是否属于待预加载应用程序,若是,则不会显示该启动页界面,从而实现禁止对待预加载应用程序的启动页界面进行预加载。When the preset application interface includes a startup page interface, during the preloading process, prohibiting preloading the preset application interface in the application to be preloaded may also include: in the preloading process During the preloading process, when calling the startup page interface display function in the active window management service, the startup page interface display function is used to determine whether the current startup page interface belongs to the application to be preloaded; if so, the display of the current startup page interface is prohibited. Start page interface. The advantage of this setting is that it can accurately determine whether the startup page interface to be displayed belongs to the application program to be preloaded, and when it is determined that it belongs to the application program to be preloaded, the display of the startup page interface is stopped in time. In this embodiment of the present application, the calling steps of the startup page interface display function can be retained to ensure the stability of application preloading, and the function can be improved by adding judgment logic to the function, so that the current needs can be judged in the function. Whether the displayed startup page interface belongs to the application to be preloaded, and if so, the startup page interface will not be displayed, so as to prohibit preloading of the startup page interface of the application to be preloaded.

在一些实施例中,所述通过所述启动页界面显示函数判断当前启动页界面是否属于待预加载应用程序,包括:通过所述启动页界面显示函数根据窗口类型识别出当前启动页界面;通过所述启动页界面显示函数判断当前启动页界面是否属于待预加载应用程序。这样设置的好处在于,能够准确识别出启动页界面。以安卓系统为例,启动页拥有的窗口类型(Window Type)是TYPE_APPLICATION_STARTING,这是启动页独特的标识(flag),showStartingWindow函数能够根据该标识准确识别出启动页,并判断启动页界面是否属于待预加载应用程序,若属于,则不显示该启动页界面。示例性的,可判断启动页界面所属的应用程序是否为待预加载应用程序。具体的,可以获取启动页界面所属的应用程序所处的活动窗口堆栈的身份标识,判断所述身份标识是否为预加载身份;若是,则确定所述应用程序为预加载应用程序。这样设置的好处在于,可以根据Stack的身份标识快速准确地判断出启动页界面所属的应用程序是否为预加载应用程序。In some embodiments, determining whether the current startup page interface belongs to the application to be preloaded by the startup page interface display function includes: identifying the current startup page interface according to the window type by the startup page interface display function; The startup page interface display function determines whether the current startup page interface belongs to the application to be preloaded. The advantage of this setting is that the startup page interface can be accurately identified. Taking the Android system as an example, the window type (Window Type) owned by the startup page is TYPE_APPLICATION_STARTING, which is the unique flag (flag) of the startup page. The showStartingWindow function can accurately identify the startup page according to the flag, and judge whether the startup page interface belongs to the waiting page. Preload the application, if it belongs, the splash page interface will not be displayed. Exemplarily, it can be determined whether the application to which the startup page interface belongs is the application to be preloaded. Specifically, the identity identifier of the active window stack where the application to which the startup page interface belongs can be obtained, and it is determined whether the identity identifier is a preloading identity; if so, it is determined that the application is a preloading application. The advantage of this setting is that it can quickly and accurately determine whether the application to which the startup page interface belongs is a preloaded application according to the stack's identity.

在一些实施例中,预设应用界面包括预设切换动画界面。应用程序在打开或进行活动窗口切换等操作时系统会产生动画,动画绘制需要耗费大量的CPU/GPU等资源。In some embodiments, the preset application interface includes a preset switching animation interface. The system will generate animations when an application is opened or switched between active windows, and animation drawing consumes a lot of resources such as CPU/GPU.

示例性的,当所述预设应用界面包括预设切换动画界面时,所述在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载,包括:在所述预加载的过程中,在检测到窗口管理服务中的预备应用切换函数即将被调用时,禁止调用所述预备应用切换函数。这样设置的好处在于,能够快速准确地禁止预设应用界面的预加载。其中,预设切换动画界面可以包括Activity切换动画界面,安卓系统为例,典型的Activity切换动画可包括:activityOpenEnterAnimation,activityOpenExitAnimation,taskOpenEnterAnimation,taskCloseExitAnimation,wallpaperOpenEnterAnimation及wallpaperCloseEnterAnimation等。系统通过调用WindowManagerService的prepareAppTransition函数设置打开、切换动画。例如,Activity切换动画设置的第一步,一般会通过调用prepareAppTransition函数来设置Activity切换动画类型,目前来说比较常见的类型可包括例如TRANSIT_ACTIVITY_OPEN、TRANSIT_ACTIVITY_CLOSE、TRANSIT_TASK_OPEN、TRANSIT_TASK_CLOSE、TRANSIT_TASK_TO_FRONT、TRANSIT_TASK_TO_BACK这几种。prepareAppTransition()函数主要做了两件事:第一件是将动画类型设置到AppTransition中,后续操作中将用到这个值;第二件是发送一个APP_TRANSITION_TIMEOUT的5s超时消息。当检测到系统开始进行Activity切换动画设置时,可认为检测到窗口管理服务中的预备应用切换函数即将被调用,此时禁止预备应用切换函数的调用,这样就从第一步结束了Activity切换动画的设置流程,从而实现了禁止对预设切换动画界面进行后续的绘制及显示等预加载操作。Exemplarily, when the preset application interface includes a preset switching animation interface, during the preloading process, preloading the preset application interface in the application to be preloaded is prohibited, including: : During the preloading process, when it is detected that the preparatory application switching function in the window management service is about to be called, the preparatory application switching function is prohibited from being called. The advantage of this setting is that the preloading of the preset application interface can be quickly and accurately prohibited. The preset switching animation interface may include an Activity switching animation interface. Taking Android as an example, typical Activity switching animations may include: activityOpenEnterAnimation, activityOpenExitAnimation, taskOpenEnterAnimation, taskCloseExitAnimation, wallpaperOpenEnterAnimation, and wallpaperCloseEnterAnimation. The system sets the opening and switching animations by calling the prepareAppTransition function of WindowManagerService. For example, the first step of Activity switching animation setting is to set the Activity switching animation type by calling the prepareAppTransition function. Currently, the more common types include TRANSIT_ACTIVITY_OPEN, TRANSIT_ACTIVITY_CLOSE, TRANSIT_TASK_OPEN, TRANSIT_TASK_CLOSE, TRANSIT_TASK_TO_FRONT, TRANSIT_TASK_TO_BACK. The prepareAppTransition() function mainly does two things: the first is to set the animation type to AppTransition, which will be used in subsequent operations; the second is to send a 5s timeout message of APP_TRANSITION_TIMEOUT. When it is detected that the system starts to set the Activity switching animation, it can be considered that the preparatory application switching function in the window management service is about to be called. At this time, the invocation of the preparatory application switching function is prohibited, thus ending the Activity switching animation from the first step. The setting process, thus realizing the prohibition of preloading operations such as subsequent drawing and display of the preset switching animation interface.

示例性的,当所述预设应用界面包括预设切换动画界面时,所述在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载,也可包括:在所述预加载的过程中,在调用窗口管理服务中的预备应用切换函数时,判断当前应用程序是否为待预加载应用程序;若是,则终止所述预备应用切换函数的本次调用,以禁止所述当前应用程序中的预设切换动画界面的预加载。这样设置的好处在于,可准确地判断出当前应用程序是否为待预加载应用程序,若是,则通过终止函数调用的方式及时禁止当前应用程序的预设切换动画界面的预加载。本申请实施例中,可保留对预备应用切换函数的调用步骤,保证应用程序预加载的稳定性,并在调用prepareAppTransition时,增加判断逻辑,判断当前应用程序是否为待预加载应用程序(即当前应用程序是否已开始预加载),来决定是否继续prepareAppTransition函数的调用操作,若是,则终止函数调用,从而实现在预加载时禁止动画,可以加快绘制速度,降低功耗,还可以避免后台动画对前台动画造成的动画异常问题。Exemplarily, when the preset application interface includes a preset switching animation interface, during the preloading process, preloading the preset application interface in the application to be preloaded is prohibited, and also It may include: during the preloading process, when calling the preliminary application switching function in the window management service, judging whether the current application is the application to be preloaded; if so, terminating the current application switching function of the preliminary application switching function Called to disable preloading of the preset switching animation interface in the current application. The advantage of this setting is that it can be accurately determined whether the current application is an application to be preloaded, and if so, the preloading of the preset switching animation interface of the current application is prohibited in time by terminating the function call. In the embodiment of the present application, the calling steps of the pre-application switching function can be retained to ensure the stability of application preloading, and when preparingAppTransition is called, a judgment logic is added to judge whether the current application is the application to be preloaded (that is, the current application is currently preloaded). Whether the application has started preloading), to decide whether to continue the calling operation of the prepareAppTransition function, if so, terminate the function call, so as to prohibit animation during preloading, which can speed up the drawing speed, reduce power consumption, and avoid background animation. The animation abnormal problem caused by the foreground animation.

在一些实施例中,在对所述待预加载应用程序进行预加载之后,还包括:在接收到所述待预加载应用程序中的目标应用程序的运行指令时,基于已预加载资源启动所述目标应用程序。示例性的,在基于预先创建的预加载活动窗口堆栈显示所述待预加载应用程序对应的应用界面之后,还包括:在接收到所述待预加载应用程序中的目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。其中,目标应用程序对应的应用界面可以包括目标应用程序对应的任务栈中当前处于栈顶的活动窗口对应的应用界面。这样设置的好处在于,能够通过将已预加载好的应用界面直接迁移至显示屏进行显示的方式,快速启动目标应用程序,而启动页以及预设切换动画并未在预加载之列,迁移至显示屏的应用界面为用户可直接操作的交互界面,用户无需等待即可对目标应用程序进行操作,可提高目标应用程序的运行效率。In some embodiments, after preloading the application to be preloaded, the method further includes: when receiving a running instruction of a target application in the application to be preloaded, starting all the preloaded resources based on the preloaded resource. the target application. Exemplarily, after displaying the application interface corresponding to the application to be preloaded based on the preloaded active window stack created in advance, the method further includes: when receiving a running instruction of the target application in the application to be preloaded , migrating the application interface corresponding to the target application included in the preloaded active window stack to the display screen for display. The application interface corresponding to the target application may include an application interface corresponding to the active window currently at the top of the stack in the task stack corresponding to the target application. The advantage of this setting is that the target application can be quickly launched by directly migrating the preloaded application interface to the display screen for display, while the startup page and the preset switching animation are not preloaded and migrated to The application interface of the display screen is an interactive interface that the user can directly operate, and the user can operate the target application program without waiting, which can improve the running efficiency of the target application program.

示例性的,图4为本申请实施例提供的一种应用界面迁移示意图,如图4所示,在接收到目标应用程序的运行指令时,将预加载活动窗口堆栈中包含的目标应用程序对应的应用界面401迁移至显示屏幕201进行显示,具体的,将预加载应用界面所属的task迁移至应用活动窗口Stack的顶部,并更新该task的尺寸信息、配置信息和可见性,从而应用界面能够在显示屏幕上正常显示。Exemplarily, FIG. 4 is a schematic diagram of application interface migration provided by an embodiment of the present application. As shown in FIG. 4 , when receiving a running instruction of a target application, the target application included in the preloaded active window stack is corresponding to the target application. The application interface 401 is migrated to the display screen 201 for display. Specifically, the task to which the preloaded application interface belongs is migrated to the top of the application activity window Stack, and the size information, configuration information and visibility of the task are updated, so that the application interface can be Displays normally on the display screen.

图5为本申请实施例提供的另一种应用程序预加载方法的流程示意图,以安卓操作系统为例,该方法包括如下步骤:FIG. 5 is a schematic flowchart of another application preloading method provided by an embodiment of the present application. Taking the Android operating system as an example, the method includes the following steps:

步骤501、检测到应用预加载事件被触发时,确定待预加载应用程序。Step 501 , when it is detected that an application preloading event is triggered, determine the application to be preloaded.

步骤502、开始对待预加载应用程序进行预加载。Step 502: Start to preload the application to be preloaded.

步骤503、创建待预加载应用程序对应的目标进程,并对目标进程进行初始化,在此过程中,禁止调用ActivityManagerService中的showStartingWindow函数,以实现禁止启动页界面的显示。Step 503 : Create a target process corresponding to the application to be preloaded, and initialize the target process. In this process, calling the showStartingWindow function in ActivityManagerService is prohibited, so as to prohibit the display of the startup page interface.

示例性的,例如在创建目标进程的同时或开始对目标进程进行初始化时,执行禁止调用showStartingWindow函数的步骤。Exemplarily, for example, when the target process is created or when the target process is initialized, the step of prohibiting calling the showStartingWindow function is performed.

步骤504、在预加载活动窗口堆栈中创建目标应用程序对应的任务栈。Step 504: Create a task stack corresponding to the target application in the preloaded active window stack.

步骤505、基于目标进程在所述任务栈中启动待预加载应用程序对应的活动窗口,并向待预加载应用程序发送伪造焦点通知。Step 505: Start the active window corresponding to the application to be preloaded in the task stack based on the target process, and send a fake focus notification to the application to be preloaded.

步骤506、根据伪造焦点通知更新待预加载应用程序对应的焦点标志位,在预设时段内基于所启动的活动窗口持续绘制并更新显示待预加载应用程序对应的应用界面,在此期间,禁止调用WindowManagerService中的prepareAppTransition函数。Step 506: Update the focus flag corresponding to the application to be preloaded according to the fake focus notification, and continue to draw and update the application interface corresponding to the application to be preloaded based on the activated active window within a preset period of time. Call the prepareAppTransition function in WindowManagerService.

可以理解的是,步骤506中可能涉及多个应用界面的绘制及更新显示,在发现prepareAppTransition函数即将被调用时,禁止调用,以实现禁止对待预加载应用程序中的预设切换动画界面的绘制及显示。It can be understood that step 506 may involve the drawing and update display of multiple application interfaces. When it is found that the prepareAppTransition function is about to be called, the calling is prohibited, so as to prohibit the drawing of the preset switching animation interface in the application to be preloaded and show.

步骤507、在接收到待预加载应用程序中的目标应用程序的运行指令时,将预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至显示屏幕进行显示。Step 507: When receiving the running instruction of the target application in the applications to be preloaded, migrate the application interface corresponding to the target application included in the preloaded active window stack to the display screen for display.

本申请实施例提供的应用预加载方法,在对待预加载应用程序进行预加载的过程中,通过禁止showStartingWindow函数的调用来禁止启动页界面的显示,通过禁止prepareAppTransition函数的调用来禁止对预设切换动画界面的预加载,能够快速准确地禁止这些应用界面在预加载过程中被预加载,加快预加载界面绘制速度,提高预加载效率,并降低了预加载操作的功耗。In the application preloading method provided by the embodiment of the present application, in the process of preloading the application to be preloaded, the display of the startup page interface is prohibited by prohibiting the invocation of the showStartingWindow function, and the preset switching is prohibited by prohibiting the invocation of the prepareAppTransition function The preloading of the animation interface can quickly and accurately prohibit these application interfaces from being preloaded during the preloading process, speed up the drawing speed of the preloading interface, improve the preloading efficiency, and reduce the power consumption of the preloading operation.

图6为本申请实施例提供的又一种应用程序预加载方法的流程示意图,以安卓操作系统为例,该方法包括如下步骤:FIG. 6 is a schematic flowchart of another application preloading method provided by an embodiment of the present application. Taking the Android operating system as an example, the method includes the following steps:

步骤601、检测到应用预加载事件被触发时,确定待预加载应用程序。Step 601 , when it is detected that an application preloading event is triggered, determine the application to be preloaded.

步骤602、创建待预加载应用程序对应的目标进程,并对目标进程进行初始化。Step 602: Create a target process corresponding to the application to be preloaded, and initialize the target process.

步骤603、在调用ActivityManagerService中的showStartingWindow函数时,通过showStartingWindow函数识别出窗口类型为TYPE_APPLICATION_STARTING的应用界面为当前启动页界面。Step 603: When calling the showStartingWindow function in the ActivityManagerService, the application interface whose window type is TYPE_APPLICATION_STARTING is identified by the showStartingWindow function as the current startup page interface.

可以理解的是,步骤603可以在步骤602的执行过程中开始执行,即可以在目标进程初始化完成之前开始执行步骤603。例如在创建目标进程的同时或开始对目标进程进行初始化时,执行调用showStartingWindow函数的步骤。It can be understood that, step 603 may be executed during the execution of step 602, that is, step 603 may be executed before the initialization of the target process is completed. For example, when the target process is created or when the target process is initialized, the step of calling the showStartingWindow function is performed.

示例性的,若未找到窗口类型为TYPE_APPLICATION_STARTING的应用界面,则可说明当前不存在待显示的启动页界面,可直接执行步骤606。Exemplarily, if the application interface whose window type is TYPE_APPLICATION_STARTING is not found, it means that there is currently no startup page interface to be displayed, and step 606 can be directly executed.

步骤604、通过showStartingWindow函数判断当前启动页界面是否属于待预加载应用程序,若是,则执行步骤605;否则,执行步骤606。Step 604: Determine whether the current startup page interface belongs to the application to be preloaded through the showStartingWindow function, if yes, go to Step 605; otherwise, go to Step 606.

步骤605、禁止显示当前启动页界面,执行步骤606。Step 605 , forbid displaying the current startup page interface, and perform step 606 .

步骤606、在预加载活动窗口堆栈中创建目标应用程序对应的任务栈。Step 606: Create a task stack corresponding to the target application in the preloaded active window stack.

步骤607、基于目标进程在所述任务栈中启动待预加载应用程序对应的活动窗口,并向待预加载应用程序发送伪造焦点通知。Step 607: Start the active window corresponding to the application to be preloaded in the task stack based on the target process, and send a fake focus notification to the application to be preloaded.

步骤608、根据所述伪造焦点通知更新待预加载应用程序对应的焦点标志位,在预设时段内基于所启动的活动窗口持续绘制并更新显示待预加载应用程序对应的应用界面。Step 608: Update the focus flag corresponding to the application to be preloaded according to the fake focus notification, and continuously draw and update the application interface corresponding to the application to be preloaded based on the activated active window within a preset period of time.

步骤609、在调用WindowManagerService中的prepareAppTransition函数时,判断当前应用程序是否为待预加载应用程序,若是,则执行步骤610;否则,执行步骤611。Step 609 , when calling the prepareAppTransition function in the WindowManagerService, determine whether the current application is the application to be preloaded, if so, go to step 610 ; otherwise, go to step 611 .

可以理解的是,步骤608中可能涉及多个应用界面的绘制及更新显示,所以在步骤608执行的过程中,会存在prepareAppTransition函数被调用的情况,即步骤609可以在步骤608的执行过程中开始执行,本申请实施例中为了方便说明,采用了两个步骤的描述方式,但对具体的执行过程及顺序等并不做限定。It can be understood that step 608 may involve the drawing and update display of multiple application interfaces, so during the execution of step 608, the prepareAppTransition function may be called, that is, step 609 can be started during the execution of step 608. Execution, in the embodiments of the present application, for the convenience of description, a description manner of two steps is adopted, but the specific execution process and sequence are not limited.

步骤610、终止prepareAppTransition函数的本次调用,以禁止所述当前应用程序中的预设切换动画界面的预加载。Step 610: Terminate this call of the prepareAppTransition function to prohibit the preloading of the preset switching animation interface in the current application.

步骤611、在接收到待预加载应用程序中的目标应用程序的运行指令时,将预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至显示屏幕进行显示。Step 611: When receiving the running instruction of the target application in the applications to be preloaded, migrate the application interface corresponding to the target application included in the preloaded active window stack to the display screen for display.

本申请实施例提供的应用预加载方法,保留了应用程序正常启动过程中的函数调用步骤,通过增加判断逻辑的方式,判断待加载的应用界面是否属于待预加载应用程序,若属于,则采取相应的措施来禁止预加载,加快预加载界面绘制速度,提高预加载效率,并降低了预加载操作的功耗。The application preloading method provided by the embodiment of the present application retains the function calling steps in the normal startup process of the application program, and determines whether the application interface to be loaded belongs to the application program to be preloaded by adding judgment logic. Corresponding measures are used to prohibit preloading, speed up the drawing speed of the preloading interface, improve the preloading efficiency, and reduce the power consumption of the preloading operation.

图7为本申请实施例提供的一种应用程序预加载装置的结构框图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序预加载方法来进行应用程序的预加载。如图7所示,该装置包括:7 is a structural block diagram of an apparatus for preloading an application program provided by an embodiment of the present application. The apparatus may be implemented by software and/or hardware, and is generally integrated in a terminal, and preloading an application program may be performed by executing an application program preloading method. load. As shown in Figure 7, the device includes:

预加载事件检测模块701,用于检测应用预加载事件是否被触发;A preload event detection module 701, configured to detect whether an application preload event is triggered;

应用确定模块702,用于在检测到应用预加载事件被触发时,确定待预加载应用程序;An application determination module 702, configured to determine the application to be preloaded when it is detected that an application preloading event is triggered;

预加载模块703,用于对所述待预加载应用程序进行预加载,并在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载。The preloading module 703 is configured to preload the application to be preloaded, and during the preloading process, prohibit preloading of a preset application interface in the application to be preloaded.

本申请实施例提供的应用程序预加载装置,检测到应用预加载事件被触发后,确定待预加载应用程序,对待预加载应用程序进行预加载,并在预加载的过程中,禁止对待预加载应用程序中的预设应用界面进行预加载。通过采用上述技术方案,在对应用程序进行预加载的过程中,可以对应用界面进行选择性的预加载,即省略一些预先设定的应用界面的预加载操作,可以提高预加载效率,并节省系统资源,降低功耗。The application preloading device provided by the embodiment of the present application, after detecting that the application preloading event is triggered, determines the application to be preloaded, preloads the application to be preloaded, and prohibits the application to be preloaded during the preloading process The preset application interface in the application is preloaded. By adopting the above technical solution, in the process of preloading the application program, the application interface can be selectively preloaded, that is, the preloading operation of some pre-set application interfaces can be omitted, which can improve the preloading efficiency and save energy. system resources and reduce power consumption.

可选的,对所述待预加载应用程序进行预加载,包括:Optionally, preloading the application to be preloaded includes:

基于预先创建的预加载活动窗口堆栈显示所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。The application interface corresponding to the application to be preloaded is displayed based on the preloaded active window stack created in advance, wherein the boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen.

可选的,所述预设应用界面包括启动页界面和/或预设切换动画界面。Optionally, the preset application interface includes a startup page interface and/or a preset switching animation interface.

可选的,当所述预设应用界面包括启动页界面时,所述在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载,包括:Optionally, when the preset application interface includes a startup page interface, during the preloading process, prohibiting preloading of the preset application interface in the application to be preloaded includes:

在所述预加载的过程中,在检测到活动窗口管理服务中的启动页界面显示函数即将被调用时,禁止调用所述启动页界面显示函数;During the preloading process, when it is detected that the startup page interface display function in the active window management service is about to be called, it is forbidden to call the startup page interface display function;

或者,or,

在所述预加载的过程中,在调用活动窗口管理服务中的启动页界面显示函数时,通过所述启动页界面显示函数判断当前启动页界面是否属于待预加载应用程序;若是,则禁止显示所述当前启动页界面。During the preloading process, when calling the startup page interface display function in the active window management service, the startup page interface display function is used to determine whether the current startup page interface belongs to the application to be preloaded; if so, the display is prohibited The current startup page interface.

可选的,所述通过所述启动页界面显示函数判断当前启动页界面是否属于待预加载应用程序,包括:Optionally, determining whether the current startup page interface belongs to the application to be preloaded by using the startup page interface display function includes:

通过所述启动页界面显示函数根据窗口类型识别出当前启动页界面;Identify the current startup page interface according to the window type through the startup page interface display function;

通过所述启动页界面显示函数判断当前启动页界面是否属于待预加载应用程序。Whether the current startup page interface belongs to the application to be preloaded is determined by the startup page interface display function.

可选的,当所述预设应用界面包括预设切换动画界面时,所述在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载,包括:Optionally, when the preset application interface includes a preset switching animation interface, during the preloading process, preloading the preset application interface in the application to be preloaded is prohibited, including: :

在所述预加载的过程中,在检测到窗口管理服务中的预备应用切换函数即将被调用时,禁止调用所述预备应用切换函数;During the preloading process, when it is detected that the preparatory application switching function in the window management service is about to be called, the preparatory application switching function is prohibited from being called;

或者,or,

在所述预加载的过程中,在调用窗口管理服务中的预备应用切换函数时,判断当前应用程序是否为待预加载应用程序;若是,则终止所述预备应用切换函数的本次调用,以禁止所述当前应用程序中的预设切换动画界面的预加载。During the preloading process, when calling the preliminary application switching function in the window management service, it is judged whether the current application is the application to be preloaded; Preloading of the preset switching animation interface in the current application is prohibited.

可选的,该装置还包括:Optionally, the device further includes:

启动模块,用于在接收到所述待预加载应用程序中的目标应用程序的运行指令时,基于已预加载资源启动所述目标应用程序。A startup module, configured to start the target application based on the preloaded resource when receiving the running instruction of the target application in the application to be preloaded.

可选的,启动模块可具体用于在基于预先创建的预加载活动窗口堆栈显示所述待预加载应用程序对应的应用界面之后,在接收到所述待预加载应用程序中的目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。Optionally, the startup module may be specifically configured to, after displaying the application interface corresponding to the application to be preloaded based on the pre-created stack of preloaded active windows, receive the information of the target application in the application to be preloaded. When the instruction is executed, the application interface corresponding to the target application included in the preloaded active window stack is migrated to the display screen for display.

本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序预加载方法,该方法包括:Embodiments of the present application further provide a storage medium containing computer-executable instructions, where the computer-executable instructions are used to execute a method for preloading an application program when executed by a computer processor, and the method includes:

检测到应用预加载事件被触发;It is detected that the application preload event is triggered;

确定待预加载应用程序;Determine the application to be preloaded;

对所述待预加载应用程序进行预加载,并在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载。The application to be preloaded is preloaded, and during the preloading process, preloading of a preset application interface in the application to be preloaded is prohibited.

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。storage medium - any of various types of memory devices or storage devices. The term "storage medium" is intended to include: installation media, such as CD-ROMs, floppy disks, or tape devices; computer system memory or random access memory, such as DRAM, DDRRAM, SRAM, EDORAM, Rambus RAM, etc.; non-volatile Volatile memory, such as flash memory, magnetic media (eg hard disk or optical storage); registers or other similar types of memory elements, and the like. The storage medium may also include other types of memory or combinations thereof. In addition, the storage medium may be located in the first computer system in which the program is executed, or may be located in a second, different computer system connected to the first computer system through a network such as the Internet. The second computer system may provide program instructions to the first computer for execution. The term "storage medium" may include two or more storage media that may reside in different locations (eg, in different computer systems connected by a network). The storage medium may store program instructions (eg, embodied as a computer program) executable by one or more processors.

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序预加载操作,还可以执行本申请任意实施例所提供的应用程序预加载方法中的相关操作。Of course, a storage medium containing computer-executable instructions provided by an embodiment of the present application, the computer-executable instructions of which are not limited to the application preloading operation as described above, and can also execute an application program provided by any embodiment of the present application. Related operations in the preload method.

本申请实施例提供了一种终端,该终端中可集成本申请实施例提供的应用程序预加载装置。图8为本申请实施例提供的一种终端的结构示意图。终端800可以包括:存储器801,处理器802及存储在存储器801上并可在处理器802运行的计算机程序,所述处理器802执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。The embodiment of the present application provides a terminal, in which the device for preloading the application program provided by the embodiment of the present application can be integrated. FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present application. The terminal 800 may include: a memory 801, a processor 802, and a computer program stored in the memory 801 and executed by the processor 802, and the processor 802 implements the application program described in the embodiments of the present application when the processor 802 executes the computer program preload method.

本申请实施例提供的终端,在对应用程序进行预加载的过程中,可以对应用界面进行选择性的预加载,即省略一些预先设定的应用界面的预加载操作,可以提高预加载效率,并节省系统资源,降低功耗。In the terminal provided by the embodiments of the present application, in the process of preloading the application program, the application interface can be selectively preloaded, that is, the preloading operation of some preset application interfaces can be omitted, which can improve the preloading efficiency. And save system resources and reduce power consumption.

图9为本申请实施例提供的另一种终端的结构示意图,该终端可以包括:壳体(图中未示出)、存储器901、中央处理器(central processing unit,CPU)902(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU902和所述存储器901设置在所述电路板上;所述电源电路,用于为所述终端的各个电路或器件供电;所述存储器901,用于存储可执行程序代码;所述CPU902通过读取所述存储器901中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:FIG. 9 is a schematic structural diagram of another terminal provided by an embodiment of the present application. The terminal may include: a casing (not shown in the figure), a memory 901, and a central processing unit (CPU) 902 (also known as a processing unit). device, hereinafter referred to as CPU), circuit board (not shown in the figure) and power circuit (not shown in the figure). The circuit board is arranged inside the space enclosed by the casing; the CPU 902 and the memory 901 are arranged on the circuit board; the power circuit is used to supply power to each circuit or device of the terminal; The memory 901 is used to store executable program codes; the CPU 902 runs a computer program corresponding to the executable program codes by reading the executable program codes stored in the memory 901 to realize the following steps:

检测到应用预加载事件被触发;It is detected that the application preload event is triggered;

确定待预加载应用程序;Determine the application to be preloaded;

对所述待预加载应用程序进行预加载,并在所述预加载的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载。The application to be preloaded is preloaded, and during the preloading process, preloading of a preset application interface in the application to be preloaded is prohibited.

所述终端还包括:外设接口903、RF(Radio Frequency,射频)电路905、音频电路906、扬声器911、电源管理芯片908、输入/输出(I/O)子系统909、其他输入/控制设备910、触摸屏912、其他输入/控制设备910以及外部端口904,这些部件通过一个或多个通信总线或信号线907来通信。The terminal further includes: a peripheral interface 903, an RF (Radio Frequency, radio frequency) circuit 905, an audio circuit 906, a speaker 911, a power management chip 908, an input/output (I/O) subsystem 909, and other input/control devices 910 , touch screen 912 , other input/control devices 910 , and external ports 904 , these components communicate through one or more communication buses or signal lines 907 .

应该理解的是,图示终端900仅仅是终端的一个范例,并且终端900可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。It should be understood that the illustrated terminal 900 is merely an example of a terminal, and that the terminal 900 may have more or fewer components than those shown in the figure, may combine two or more components, or may have Different part configurations. The various components shown in the figures may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.

下面就本实施例提供的用于应用预加载的终端进行详细的描述,该终端以手机为例。The following describes the terminal for application preloading provided in this embodiment in detail, and the terminal is a mobile phone as an example.

存储器901,所述存储器901可以被CPU902、外设接口903等访问,所述存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。Memory 901, which can be accessed by CPU 902, peripheral interface 903, etc., said memory 901 can include high-speed random access memory, and can also include non-volatile memory, such as one or more disk storage devices, flash memory devices , or other volatile solid-state storage devices.

外设接口903,所述外设接口903可以将设备的输入和输出外设连接到CPU902和存储器901。A peripheral interface 903 that can connect the input and output peripherals of the device to the CPU 902 and the memory 901 .

I/O子系统909,所述I/O子系统909可以将设备上的输入输出外设,例如触摸屏912和其他输入/控制设备910,连接到外设接口903。I/O子系统909可以包括显示控制器9091和用于控制其他输入/控制设备910的一个或多个输入控制器9092。其中,一个或多个输入控制器9092从其他输入/控制设备910接收电信号或者向其他输入/控制设备910发送电信号,其他输入/控制设备910可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器9092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。I/O subsystem 909 , which can connect input and output peripherals on the device, such as touch screen 912 and other input/control devices 910 , to peripherals interface 903 . The I/O subsystem 909 may include a display controller 9091 and one or more input controllers 9092 for controlling other input/control devices 910 . Wherein, one or more input controllers 9092 receive electrical signals from or send electrical signals to other input/control devices 910, which may include physical buttons (push buttons, rocker buttons, etc. ), dial pad, slide switch, joystick, click wheel. Notably, the input controller 9092 can be connected to any of the following: a keyboard, an infrared port, a USB interface, and a pointing device such as a mouse.

触摸屏912,所述触摸屏912是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。The touch screen 912, which is an input interface and an output interface between the user terminal and the user, displays visual output to the user, and the visual output may include graphics, text, icons, videos, and the like.

I/O子系统909中的显示控制器9091从触摸屏912接收电信号或者向触摸屏912发送电信号。触摸屏912检测触摸屏上的接触,显示控制器9091将检测到的接触转换为与显示在触摸屏912上的用户界面对象的交互,即实现人机交互,显示在触摸屏912上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。Display controller 9091 in I/O subsystem 909 receives electrical signals from touch screen 912 or sends electrical signals to touch screen 912 . The touch screen 912 detects the contact on the touch screen, and the display controller 9091 converts the detected contact into interaction with the user interface object displayed on the touch screen 912, that is, human-computer interaction is realized. The user interface object displayed on the touch screen 912 can be run. Icons for games, icons for connecting to the corresponding network, etc. It is worth noting that the device may also include a light mouse, which is a touch-sensitive surface that does not display visual output, or an extension of the touch-sensitive surface formed by a touch screen.

RF电路905,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路905接收并发送RF信号,RF信号也称为电磁信号,RF电路905将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路905可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。The RF circuit 905 is mainly used to establish the communication between the mobile phone and the wireless network (ie, the network side), and realize the data reception and transmission between the mobile phone and the wireless network. Such as sending and receiving text messages, e-mails, etc. Specifically, the RF circuit 905 receives and transmits RF signals, also known as electromagnetic signals, the RF circuit 905 converts electrical signals into electromagnetic signals or converts electromagnetic signals into electrical signals, and communicates with communication networks and other devices through the electromagnetic signals to communicate. RF circuitry 905 may include known circuitry for performing these functions including, but not limited to, antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, CODECs ( COder-DECoder, codec) chip set, subscriber identity module (Subscriber Identity Module, SIM) and so on.

音频电路906,主要用于从外设接口903接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器911。The audio circuit 906 is mainly used for receiving audio data from the peripheral interface 903 , converting the audio data into electrical signals, and sending the electrical signals to the speaker 911 .

扬声器911,用于将手机通过RF电路905从无线网络接收的语音信号,还原为声音并向用户播放该声音。The speaker 911 is used to restore the voice signal received by the mobile phone from the wireless network through the RF circuit 905 to sound and play the sound to the user.

电源管理芯片908,用于为CPU902、I/O子系统及外设接口所连接的硬件进行供电及电源管理。The power management chip 908 is used for power supply and power management for the hardware connected to the CPU 902, the I/O subsystem and the peripheral interface.

上述实施例中提供的应用程序预加载装置、存储介质及终端可执行本申请任意实施例所提供的应用程序预加载方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用程序预加载方法。The application preloading apparatus, storage medium and terminal provided in the above embodiments can execute the application preloading method provided by any embodiment of the present application, and have corresponding functional modules and beneficial effects for executing the method. For technical details not described in detail in the foregoing embodiments, reference may be made to the application preloading method provided by any embodiment of the present application.

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。Note that the above are only preferred embodiments of the present application and applied technical principles. Those skilled in the art will understand that the present application is not limited to the specific embodiments described herein, and various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the protection scope of the present application. Therefore, although the present application has been described in detail through the above embodiments, the present application is not limited to the above embodiments, and can also include more other equivalent embodiments without departing from the concept of the present application. The scope is determined by the scope of the appended claims.

Claims (8)

1.一种应用程序预加载方法,其特征在于,包括:1. a method for preloading an application, comprising: 检测到应用预加载事件被触发;It is detected that the application preload event is triggered; 确定待预加载应用程序;Determine the application to be preloaded; 当检测到所述待预加载应用程序对应的应用界面中存在所述待预加载应用程序对应的预设应用界面时,禁止对所述预设应用界面进行预加载,基于预先创建的预加载活动窗口堆栈显示所述待预加载应用程序对应的应用界面中除所述预设应用界面之外的应用界面;When it is detected that there is a preset application interface corresponding to the application to be preloaded in the application interface corresponding to the application to be preloaded, preloading the preset application interface is prohibited, based on the pre-created preloading activity The window stack displays application interfaces other than the preset application interface among the application interfaces corresponding to the application to be preloaded; 其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外;Wherein, the boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen; 在接收到所述待预加载应用程序中的目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。When receiving the running instruction of the target application in the application to be preloaded, the application interface corresponding to the target application included in the preloaded active window stack is migrated to the display screen for display. 2.根据权利要求1所述的方法,其特征在于,所述预设应用界面包括启动页界面和/或预设切换动画界面。2 . The method according to claim 1 , wherein the preset application interface comprises a startup page interface and/or a preset switching animation interface. 3 . 3.根据权利要求2所述的方法,其特征在于,当所述预设应用界面包括启动页界面时,在显示所述待预加载应用程序对应的应用界面的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载,包括:3 . The method according to claim 2 , wherein when the preset application interface includes a startup page interface, in the process of displaying the application interface corresponding to the application to be preloaded, prohibiting the application of the application to be preloaded. Preload the preset application interface in the preload application, including: 在显示所述待预加载应用程序对应的应用界面的过程中,在检测到活动窗口管理服务中的启动页界面显示函数即将被调用时,禁止调用所述启动页界面显示函数;In the process of displaying the application interface corresponding to the application to be preloaded, when it is detected that the startup page interface display function in the active window management service is about to be called, the startup page interface display function is prohibited from being called; 或者,or, 在显示所述待预加载应用程序对应的应用界面的过程中,在调用活动窗口管理服务中的启动页界面显示函数时,通过所述启动页界面显示函数判断当前启动页界面是否属于待预加载应用程序;若是,则禁止显示所述当前启动页界面。In the process of displaying the application interface corresponding to the application to be preloaded, when calling the startup page interface display function in the active window management service, the startup page interface display function is used to determine whether the current startup page interface belongs to the to-be-preloaded interface Application program; if so, the current startup page interface is prohibited from being displayed. 4.根据权利要求3所述的方法,其特征在于,所述通过所述启动页界面显示函数判断当前启动页界面是否属于待预加载应用程序,包括:4. The method according to claim 3, wherein the determining whether the current startup page interface belongs to the application to be preloaded by the startup page interface display function comprises: 通过所述启动页界面显示函数根据窗口类型识别出当前启动页界面;Identify the current startup page interface according to the window type through the startup page interface display function; 通过所述启动页界面显示函数判断当前启动页界面是否属于待预加载应用程序。Whether the current startup page interface belongs to the application to be preloaded is determined by the startup page interface display function. 5.根据权利要求2所述的方法,其特征在于,当所述预设应用界面包括预设切换动画界面时,在显示所述待预加载应用程序对应的应用界面的过程中,禁止对所述待预加载应用程序中的预设应用界面进行预加载,包括:5 . The method according to claim 2 , wherein when the preset application interface includes a preset switching animation interface, in the process of displaying the application interface corresponding to the application to be preloaded, all The preset application interface in the application to be preloaded is preloaded, including: 在显示所述待预加载应用程序对应的应用界面的过程中,在检测到窗口管理服务中的预备应用切换函数即将被调用时,禁止调用所述预备应用切换函数;In the process of displaying the application interface corresponding to the application to be preloaded, when it is detected that the preparatory application switching function in the window management service is about to be called, the preparatory application switching function is prohibited from being called; 或者,or, 在显示所述待预加载应用程序对应的应用界面的过程中,在调用窗口管理服务中的预备应用切换函数时,判断当前应用程序是否为待预加载应用程序;若是,则终止所述预备应用切换函数的本次调用,以禁止所述当前应用程序中的预设切换动画界面的预加载。In the process of displaying the application interface corresponding to the application to be preloaded, when calling the preliminary application switching function in the window management service, determine whether the current application is the application to be preloaded; if so, terminate the preliminary application The switching function is called this time to prohibit the preloading of the preset switching animation interface in the current application. 6.一种应用程序预加载装置,其特征在于,包括:6. A device for preloading an application program, comprising: 预加载事件检测模块,用于检测应用预加载事件是否被触发;The preload event detection module is used to detect whether the application preload event is triggered; 应用确定模块,用于在检测到应用预加载事件被触发时,确定待预加载应用程序;The application determination module is used to determine the application to be preloaded when it is detected that the application preloading event is triggered; 预加载模块,用于当检测到所述待预加载应用程序对应的应用界面中存在所述待预加载应用程序对应的预设应用界面时,禁止对所述预设应用界面进行预加载,基于预先创建的预加载活动窗口堆栈显示所述待预加载应用程序对应的应用界面中除所述预设应用界面之外的应用界面;A preloading module, configured to prohibit preloading of the preset application interface when detecting that there is a preset application interface corresponding to the application to be preloaded in the application interface corresponding to the application to be preloaded, based on The pre-created preloading active window stack displays application interfaces other than the preset application interface among the application interfaces corresponding to the application to be preloaded; 其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外;Wherein, the boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen; 在接收到所述待预加载应用程序中的目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。When receiving the running instruction of the target application in the application to be preloaded, the application interface corresponding to the target application included in the preloaded active window stack is migrated to the display screen for display. 7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的应用程序预加载方法。7. A computer-readable storage medium on which a computer program is stored, characterized in that, when the program is executed by a processor, the method for preloading an application program according to any one of claims 1-5 is implemented. 8.一种终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5任一所述的应用程序预加载方法。8. A terminal, characterized in that, comprising a memory, a processor and a computer program that is stored on the memory and can be run on the processor, and when the processor executes the computer program, any one of claims 1-5 is realized. the application preloading method described above.
CN201810538582.7A 2018-05-30 2018-05-30 Application preloading method, device, storage medium and terminal Active CN108845838B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810538582.7A CN108845838B (en) 2018-05-30 2018-05-30 Application preloading method, device, storage medium and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810538582.7A CN108845838B (en) 2018-05-30 2018-05-30 Application preloading method, device, storage medium and terminal

Publications (2)

Publication Number Publication Date
CN108845838A CN108845838A (en) 2018-11-20
CN108845838B true CN108845838B (en) 2021-07-09

Family

ID=64209995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810538582.7A Active CN108845838B (en) 2018-05-30 2018-05-30 Application preloading method, device, storage medium and terminal

Country Status (1)

Country Link
CN (1) CN108845838B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694621A (en) * 2019-03-12 2020-09-22 青岛海信移动通信技术股份有限公司 Terminal and display method
CN111752443B (en) * 2019-03-28 2024-07-23 华为技术有限公司 Method, related device and system for controlling page of display equipment
CN112596824A (en) * 2021-01-04 2021-04-02 天津中新智冠信息技术有限公司 Information interaction method and device, electronic equipment and storage medium
CN114579193B (en) * 2022-03-08 2024-01-12 国泰新点软件股份有限公司 Multi-system loading method, device, equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103376974A (en) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 Window switching method and device
CN103677922A (en) * 2013-12-13 2014-03-26 北京奇虎科技有限公司 Method and device for starting application software
CN103729438A (en) * 2013-12-30 2014-04-16 优视科技有限公司 Webpage preloading method and device
CN103744862A (en) * 2013-12-06 2014-04-23 长春吉大工易软件有限公司 Preload optimization method of mobile office application based on Sencha Touch
CN106406966A (en) * 2016-10-31 2017-02-15 维沃移动通信有限公司 Preloading method for application and mobile terminal
CN106919313A (en) * 2017-04-21 2017-07-04 维沃移动通信有限公司 The startup method and mobile terminal of a kind of application program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298554B (en) * 2013-07-15 2019-01-18 北京三星通信技术研究有限公司 Manage the method and device of multitask application program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103376974A (en) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 Window switching method and device
CN103744862A (en) * 2013-12-06 2014-04-23 长春吉大工易软件有限公司 Preload optimization method of mobile office application based on Sencha Touch
CN103677922A (en) * 2013-12-13 2014-03-26 北京奇虎科技有限公司 Method and device for starting application software
CN103729438A (en) * 2013-12-30 2014-04-16 优视科技有限公司 Webpage preloading method and device
CN106406966A (en) * 2016-10-31 2017-02-15 维沃移动通信有限公司 Preloading method for application and mobile terminal
CN106919313A (en) * 2017-04-21 2017-07-04 维沃移动通信有限公司 The startup method and mobile terminal of a kind of application program

Also Published As

Publication number Publication date
CN108845838A (en) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108363593B (en) Application program preloading method and device, storage medium and terminal
US11467855B2 (en) Application preloading method and device, storage medium and terminal
CN108614722B (en) Application program preloading method and device, storage medium and terminal
CN108647052B (en) Application preloading method, device, storage medium and terminal
CN108647055B (en) Application program preloading method and device, storage medium and terminal
CN108958830B (en) Application program starting method and device, storage medium and terminal
WO2019228156A1 (en) Method and device for preloading application, storage medium and intelligent terminal
CN108829457B (en) Application program prediction model updating method and device, storage medium and terminal
CN108762831B (en) Application program preloading method and device, storage medium and terminal
CN108595230A (en) Application program preloads method, apparatus, storage medium and terminal
CN108710513A (en) Application program launching method, device, storage medium and terminal
CN108595224B (en) Application program prompting method and device, storage medium and terminal
CN108681475A (en) Application program preloads method, apparatus, storage medium and mobile terminal
CN108776599B (en) Management method and device for preloaded application, storage medium and intelligent terminal
CN108829456A (en) Application program preloading method and device, storage medium and terminal
WO2019214477A1 (en) Application program pre-loading method and device, storage medium and terminal
WO2019218886A1 (en) Application pre-loading management method, device, storage medium and smart terminal
CN108710512B (en) Application program preloading method and device, storage medium and intelligent terminal
CN108595231A (en) Application program preloads method, apparatus, storage medium and intelligent terminal
CN108958828A (en) Application program preloads method, apparatus, storage medium and terminal
CN108845838B (en) Application preloading method, device, storage medium and terminal
CN108762836B (en) Preloaded application management method, device, storage medium and smart terminal
CN108804153A (en) Preloading method, apparatus, storage medium and the terminal of application program
CN108762844A (en) Application program preloads method, apparatus, storage medium and terminal
CN108647057A (en) Screen orientation setting method, device, storage medium and terminal

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
GR01 Patent grant
GR01 Patent grant