CN108647052B - 应用程序预加载方法、装置、存储介质及终端 - Google Patents

应用程序预加载方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN108647052B
CN108647052B CN201810400917.9A CN201810400917A CN108647052B CN 108647052 B CN108647052 B CN 108647052B CN 201810400917 A CN201810400917 A CN 201810400917A CN 108647052 B CN108647052 B CN 108647052B
Authority
CN
China
Prior art keywords
application program
application
preloaded
preset
preloading
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
CN201810400917.9A
Other languages
English (en)
Other versions
CN108647052A (zh
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 CN201810400917.9A priority Critical patent/CN108647052B/zh
Publication of CN108647052A publication Critical patent/CN108647052A/zh
Priority to PCT/CN2019/084218 priority patent/WO2019206213A1/zh
Priority to EP19793314.6A priority patent/EP3726378A4/en
Priority to US16/926,763 priority patent/US20200342338A1/en
Application granted granted Critical
Publication of CN108647052B publication Critical patent/CN108647052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了应用程序预加载方法、装置、存储介质及终端。该方法包括:检测到预设应用程序处于前台运行状态,其中,预设应用程序包括社交类应用程序;获取预设应用程序对应的目标信息,目标信息包括交互对象和/或交互内容;根据目标信息确定待预加载应用程序,并对待预加载应用程序进行预加载。本申请实施例通过采用上述技术方案,可以根据用户当前正在使用的社交类应用程序中的交互对象或交互内容来预测用户可能会打开的应用程序,并对预测出来的应用程序进行预加载,预测结果准确率高,可提升预加载应用程序的启动速度。

Description

应用程序预加载方法、装置、存储介质及终端
技术领域
本申请实施例涉及应用程序加载技术领域,尤其涉及应用程序预加载方法、装置、存储介质及终端。
背景技术
目前,诸如智能手机、平板电脑、笔记本电脑以及智能家电等终端已成为人们日常生活中必不可少的电子设备。随着终端设备不断地智能化,多数终端设备中都装载有操作系统,使得终端设备能够安装丰富多样的应用程序,满足用户不同的需求。
随着终端设备的配置不断提升,多数终端设备中可以安装几十甚至上百个应用程序,而随着应用程序的功能日益丰富,应用程序运行时所需加载的资源也越来越多。当用户选择启动一个应用程序时,终端会对该应用程序启动所需的资源进行加载,待加载完毕后,进入应用程序的初始界面,整个过程通常要花费数秒甚至十几秒的时间,导致应用程序的启动效率较低,亟需改进。
发明内容
本申请实施例提供一种应用程序预加载方法、装置、存储介质及终端,可以优化应用程序的加载方案。
第一方面,本申请实施例提供了一种应用程序预加载方法,包括:
检测到预设应用程序处于前台运行状态,其中,所述预设应用程序包括社交类应用程序;
获取所述预设应用程序对应的目标信息,所述目标信息包括交互对象和/或交互内容;
根据所述目标信息确定待预加载应用程序,并对所述待预加载应用程序进行预加载。
第二方面,本申请实施例提供了一种应用程序预加载装置,包括:
前台应用检测模块,用于检测预设应用程序是否处于前台运行状态,其中,所述预设应用程序包括社交类应用程序;
目标信息获取模块,用于在检测到预设应用程序处于前台运行状态时,获取所述预设应用程序对应的目标信息,所述目标信息包括交互对象和/或交互内容;
预加载模块,用于根据所述目标信息确定待预加载应用程序,并对所述待预加载应用程序进行预加载。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的应用程序预加载方法。
第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。
本申请实施例中提供的应用程序预加载方案,检测到预设社交类应用程序处于前台运行状态,获取预设应用程序对应的交互对象和/或交互内容,根据获取内容确定待预加载应用程序,并进行预加载。通过采用上述技术方案,可以根据用户当前正在使用的社交类应用程序中的交互对象或交互内容来预测用户可能会打开的应用程序,并对预测出来的应用程序进行预加载,预测结果准确率高,可提升预加载应用程序的启动速度。
附图说明
图1为本申请实施例提供的一种应用程序预加载方法的流程示意图;
图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;
图3为本申请实施例提供的又一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;
图4为本申请实施例提供的另一种应用程序预加载方法的流程示意图;
图5为本申请实施例提供的又一种应用程序预加载方法的流程示意图;
图6为本申请实施例提供的一种快速启动入口显示界面示意图;
图7为本申请实施例提供的一种应用程序预加载装置的结构框图;
图8为本申请实施例提供的一种终端的结构示意图;
图9为本申请实施例提供的又一种终端的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1为本申请实施例提供的一种应用程序预加载方法的流程示意图,该方法可以由应用程序预加载装置执行,其中该装置可由软件和/或硬件实现,一般可集成在终端中。如图1所示,该方法包括:
步骤101、检测到预设应用程序处于前台运行状态,其中,所述预设应用程序包括社交类应用程序。
示例性的,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑以及智能家电等终端设备。终端中装载有操作系统。
示例性的,预设应用程序包括社交类应用程序,如微信和QQ等聊天应用,再如支付宝及淘宝等具备消息交互功能的应用等。终端设计人员可以为市面上的应用程序添加社交属性标签,系统根据社交属性标签确定所属应用程序是否为社交类应用程序,若为社交类应用程序,则可确定该应用程序支持本申请实施例中的预加载功能。此外,终端出厂后,也可为新上线的应用程序设置社交属性标签,并推送至终端,以更新终端中支持预加载功能的应用程序。
可选的,可在终端中增加预加载功能设置选项,用户可以为支持预加载功能的应用程序逐一或批量设定是否开启预加载功能。一般的,当预加载功能设置选项中的总开关为开启状态时,系统可默认将终端中安装的所有支持预加载功能的应用程序的预加载功能为开启状态。例如,当用户开启预加载功能的总开关时,终端中当前已安装的所有支持预加载功能的应用程序的复选框被选中,用户可以取消不想开启预加载功能的应用功能程序的复选框的标记。
示例性的,本申请实施例中的预设应用程序包括已开启预加载功能的社交类应用程序,预设应用程序可包括一个或多个。例如,根据已开启预加载功能的应用程序的应用标识生成一个应用列表,当一个应用程序在前台运行时,获取该应用程序对应的应用标识,判断该应用标识是否包含于上述应用列表中,若包含,则确定检测到预设应用程序处于前台运行状态。
步骤102、获取所述预设应用程序对应的目标信息,所述目标信息包括交互对象和/或交互内容。
示例性的,交互对象可包括正在与当前用户进行信息交互的其他对象,如用户的好友或客服人员等。交互内容可包括用户与交互对象之间进行交互的消息、文件(如文档、图片、视频或压缩包等)、网页链接以及转账金额等等。交互内容可以是用户发送给交互对象的,也可以是交互对象发送给用户的。一般的,交互内容可以以项为计量单位,如一条消息为一项,一张图片为一项。交互内容可包括当前正在进行的交互项目,如用户刚刚向交互对象发送的一条文本消息或图片等(对方暂未回复),又如用户正在文本框中输入的字符串,再如交互对象最近发送过来的消息等,这样的好处在于能够及时地进行后续的待预加载应用程序的预测;此外,交互内容还可包括距离当前时刻预设时间长度内的多项交互内容,或者距离当前交互内容预设数量的交互项目,这样设置的好处在于,能够根据上下文情景分析交互内容与应用程序之间的关联性,从而更加准确地预测关联性高的待预加载应用程序。
步骤103、根据所述目标信息确定待预加载应用程序,并对所述待预加载应用程序进行预加载。
示例性的,可以在用户使用预设应用程序的过程中对用户的使用习惯进行采集,比如可包括在与某个交互对象进行信息交互的过程中,曾打开过哪些应用程序,又如在进行哪些信息交互的过程中,曾经打开过某个应用程序等等。根据采集到的信息进行汇总及规律总结,或者对预设模型进行训练,当用户再次使用预设应用程序时,可根据交互对象和/或交互内容预测出用户可能打开哪个或哪些应用程序,将这些应用程序确定为待预加载应用程序,进而对待预加载应用程序进行预加载。
本申请实施例中,当待预加载的应用程序仅有一个时,无需考虑应用的预加载顺序;而当待预加载的应用程序有多个时,可将多个待预加载的应用程序逐一确定为当前待预加载应用程序,并依次进行预加载操作,也可将2个以上待预加载的应用程序确定为当前待预加载应用程序,并同时进行预加载操作,也就是说多个应用程序的预加载过程可以是并行进行的。
本申请实施例中对预加载的具体过程以及所加载的资源不做限定,例如可为待预加载应用程序分配相应的硬件资源,并基于分配的硬件资源加载启动所需的相关数据。示例性的,可包括应用进程启动、应用服务启动、内存分配、文件内容读取、网络数据获取以及界面渲染等。此外,预加载的资源可根据待预加载应用程序的具体类型来确定。例如,若待预加载应用程序为一个社交软件,可以预加载该应用程序中的启动画面、联系人列表以及近期的消息记录等;若待预加载应用程序为一个游戏,可以预加载该应用程序中的游戏背景相关数据等。
本申请实施例提供的应用程序预加载方法,检测到预设社交类应用程序处于前台运行状态,获取预设应用程序对应的交互对象和/或交互内容,根据获取内容确定待预加载应用程序,并进行预加载。通过采用上述技术方案,可以根据用户当前正在使用的社交类应用程序中的交互对象或交互内容来预测用户可能会打开的应用程序,并对预测出来的应用程序进行预加载,预测结果准确率高,可提升预加载应用程序的启动速度。
在一些实施例中,所述目标信息包括交互对象;所述根据所述目标信息确定待预加载应用程序,包括:将所述交互对象输入至第一应用预测模型,根据所述第一应用预测模型的输出结果确定待预加载应用程序;其中,所述第一应用预测模型根据预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,所打开的应用程序的规律训练得到。这样设置的好处在于,能够借助预测模型来准确预测用户可能即将打开的应用程序,提高预测准确度。例如,用户在使用微信与朋友A聊天时,经常会去应用a查找文章或者截图分享给朋友A,那么可在检测到用户在微信中与朋友A聊天时,将应用a确定为待预加载应用程序并进行预加载;又如,用户在使用公司内部聊天软件与同事B讨论问题时,经常会去应用b查找相关资料或者报表发送给同事B,那么可在检测到用户使用该公司内部聊天软件时与同事B交互时,将应用b确定为待预加载应用程序并进行预加载。上述举例仅为了理解方案提供的示意性说明,具体实施时可根据实际情况采用理想的模型达到相应的效果。本申请实施例中的第一预设历史时段可以是从预设应用程序被安装开始到当前时刻,还可以是距离当前时刻预设时长(如1个月)的时段。示例性的,第一应用预测模型可以是统计模型或者机器学习模型等。所采用的算法可以包括循环神经网络(Recurrent neuralnetworks,RNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等等。在进行模型训练时,可输入的样本元素可包括用户使用预设应用程序与当前交互对象进行信息交互的过程中所打开的应用程序的名称或应用标识;还可进一步包括同一个应用程序被打开的次数或频次;还可包括在与当前交互对象开始进行信息交互的时刻到打开应用程序的时刻的时间间隔等等。示例性的,可根据所选用的模型选择合适的样本元素,也可根据所选的样本元素确定所选用的模型,还可结合对预测准确度以及预设速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。
在一些实施例中,所述目标信息包括交互内容;所述根据所述目标信息确定待预加载应用程序,包括:针对预设关键字对所述交互内容进行识别,所述预设关键字与应用程序名称或应用程序中的功能相关;根据识别到的预设关键字确定待预加载应用程序。这样设置的好处在于,无需预先进行模型的训练,而是通过对当前的交互内容的分析,快速预测待预加载应用程序。示例性的,当用户使用微信过程中,交互对象发过来的消息中出现“你的支付宝余额还有多少?”,终端能够识别出交互内容中包含“支付宝”这一应用程序名称,那么可预测用户会打开支付宝查看余额,可将支付宝确定为待预加载应用程序,而正常来说用户一般会返回桌面,找到支付宝应用图标,再点击支付宝应用图标,这个过程通常会花费数秒时间,而终端在这数秒期间已经对支付宝应用进行了预加载,那么用户点击支付宝应用图标后,支付宝应用便会快速启动,提高了启动速度,减少用户等待时间。再比如,用户在使用购票软件购买火车票时,使用了支付宝进行支付,在发生退票等事件后,用户可能会在支付宝中与客服咨询退款事宜,当客服发送的内容包括“请提供购票订单号”,终端会识别出“购票”这一应用程序功能,进而将终端中安装的具备购票功能的应用程序确定为待预加载应用程序,如同上述举例,用户在真正打开购票应用时,该应用已经被预加载,能够快速启动。需要说明的是,当终端中有多个具备购票功能的应用程序时,可将这多个应用程序均确定为待预加载应用程序并进行相应的预加载操作。
在一些实施例中,所述目标信息包括交互内容;所述根据所述目标信息确定待预加载应用程序,包括:将所述交互内容输入至第二应用预测模型,根据所述第二应用预测模型的输出结果确定待预加载应用程序;其中,所述第二应用预测模型根据第二预设历史时段内,用户基于所述预设应用程序与其他用户进行交互的过程中,出现所述交互内容后所打开的应用程序的规律训练得到。这样设置的好处在于,能够更加准确地基于交互内容进行应用程序的预测。此处的第二预设历史时段可以与上文中的第一预设历史时段相同,也可不同,本申请实施例不做限定。示例性的,第二应用预测模型可以是统计模型或者机器学习模型等。所采用的算法同样可以包括RNN、LSTM网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、KNN算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度等等。在进行模型训练时,可输入的样本元素可包括用户使用预设应用程序与所有交互对象进行信息交互的过程中出现某个交互内容后所打开的应用程序的名称或应用标识;还可进一步包括同一个应用程序在出现某个交互内容后被打开的次数或频次。在进行模型训练时,可将交互内容的所有信息输入至待训练模型,也可从交互内容中提取感兴趣信息后将感兴趣信息输入至待训练模型。示例性的,可根据所选用的模型选择合适的样本元素,也可根据所选的样本元素确定所选用的模型,还可结合对预测准确度以及预设速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。
在一些实施例中,所述目标信息包括交互对象和交互内容;所述根据所述目标信息确定待预加载应用程序,包括:将所述交互对象和所述交互内容输入至第三应用预测模型,根据所述第三应用预测模型的输出结果确定待预加载应用程序;其中,所述第三应用预测模型根据第三预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,出现所述交互内容后所打开的应用程序的规律训练得到。这样设置的好处在于,能够结合交互对象和交互内容更加准确地预测待预加载应用程序,提高预加载命中率。此处的第三预设历史时段可以与上文中的第一预设历史时段或第二预设历史时段相同,也可不同,本申请实施例不做限定。示例性的,第三应用预测模型可以是统计模型或者机器学习模型等。所采用的算法同样可以包括RNN、LSTM网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、KNN算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度等等。在进行模型训练时,可输入的样本元素可包括用户使用预设应用程序与当前交互对象进行信息交互的过程中所打开的应用程序的名称或应用标识;还可进一步包括同一个应用程序被打开的次数或频次;还可包括在与当前交互对象开始进行信息交互之后打开应用程序的时长;还可包括用户使用预设应用程序与当前交互对象进行信息交互的过程中出现交互内容后所打开的应用程序的名称或应用标识等等。在进行模型训练时,可将交互内容的所有信息输入至待训练模型,也可从交互内容中提取感兴趣信息后将感兴趣信息输入至待训练模型。示例性的,可根据所选用的模型选择合适的样本元素,也可根据所选的样本元素确定所选用的模型,还可结合对预测准确度以及预设速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。
在一些实施例中,在对所述待预加载应用程序进行预加载之后,还包括:向用户提供已进行预加载的预加载应用程序对应的快速启动入口;当用户以预设方式触发所述快速启动入口时,启动对应的预加载应用程序。这样设置的好处在于,不需要用户进行返回桌面以及查找想要打开的应用的桌面图标等操作,直接通过快速启动入口打开应用程序。可选的,可以在显示屏幕中以浮动窗口、弹窗或固定显示区域等形式显示预加载应用程序对应的快速启动入口,快速启动入口可以是显示预加载应用程序的名称或图标等等。当预加载应用程序存在多个时,可以按照一定的顺序逐一进行快速启动入口的显示,或选择其中的2个以上进行批量显示(即每次显示的快速启动入口的数量大于或等于2个)。预设方式可以是点击、长按或双击等方式,本申请实施例不做限定。
在一些实施例中,对所述待预加载应用程序进行预加载,包括:基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。这样设置的好处在于,对应用界面进行预加载,能够较大程度地完成应用启动前的准备工作,提升已进行预加载操作的应用程序的启动速度,且不会影响到前台应用程序的显示内容在显示屏幕上的显示。
本申请实施例中,活动窗口可理解为一个独立的直接面向用户提供交互和操作的界面,在不同的操作系统中可能采用不同的名词来命名该界面。为了便于理解,下面以安卓(Android)操作系统为例进行下面的说明。
在Android系统中,活动窗口被称为Activity。Activity是一个负责与用户交互的组件,其提供一个屏幕(可以理解为屏幕界面,而非实体的显示屏幕),以供用户交互完成某项任务。在一个android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件。在对Activity进行管理中,有这样两个概念:Task(任务栈)和Stack(活动窗口堆栈)。Task对应一个应用程序,Task用于存放Activity,一个Task中可以存放一个或多个Activity,且这些Activity遵循“先进后出,后进先出”的原则。而Stack又用于对Task进行管理,通常,一个Stack对一个屏幕所需展示的各Activity所属的Task进行管理,一个Stack可以管理一个或多个Task,当然,Stack也同样遵循堆栈的基本管理原则。这里所述的屏幕并不一定是完整独立的显示屏,以“两个屏幕”为例,这两个屏幕可能只是一个完整显示屏中两个独立显示各自显示内容的区域。当然,如果终端具备两个甚至是两个以上的独立显示屏,则“两个屏幕”也可以是两个独立的显示屏。
在Android系统中,支持多窗口模式,可包括分屏模式、画中画模式以及自由模式(FreeForm)。在多窗口模式下,应用程序所在的Stack可以有自己的尺寸(size),可以包括以终端屏幕左上角为原点的坐标系中的上下左右坐标。例如,(a,b,c,d),一般描述的是一个矩形的边界,可采用矩形左上角的坐标和右下角的坐标进行表示,即矩形的左上角坐标为(a,b),右下角坐标为(c,d),这样的矩形区域就对应Stack的size。Stack中的应用内布局是以Stack的size为准的,也就是说Activity对应的应用界面是在size的边界范围内进行显示的。
在多窗口模式下,可以允许多个应用程序处于可见状态,包括系统和用户均可见和仅系统可见。系统和用户均可见指的是在显示屏幕上进行显示,且用户能够看到;仅系统可见指的是操作系统可见,而用户不可见,可能被前台的应用遮挡或者如本申请所要实现的在显示屏幕外显示。
本申请实施例中,在显示屏幕外对待预加载应用程序的应用界面进行预加载,可以基于操作系统的多窗口机制来实现,通过多窗口机制将应用程序对应的size设在显示屏幕外而达到对用户不可见的目的,从而不会影响到前台应用程序的显示内容在显示屏幕上的显示。
一般的,多窗口模式下,可以存在多种类型的Stack,如Home Stack表示桌面应用显示的Stack,App Stack表示第三方应用显示,还可以有其他分屏Stack等。本申请实施例中,新增了预加载活动窗口堆栈(预加载Stack),用于表示预加载应用显示的Stack,并设置预加载Stack的边界坐标位于显示屏幕的坐标范围之外,待预加载的应用程序可以显示在该Stack。对于Android系统来说,可以基于Android系统的多窗口机制,新建一个专门用于显示预加载应用的Stack。本申请实施例中,新建Stack是因为可以让新建的预加载Stack拥有自己的size以及可见性,从而实现在显示屏幕外预加载的目的。
本申请实施例中,对预加载Stack的创建时机不做限定,可以是在终端出厂前默认设置预加载Stack处于常驻状态,即预加载Stack一直存在;也可以在终端开机时或终端解锁成功后创建;还可以在应用预加载事件被触发后(可以在确定待预加载应用程序之前)创建等等。可选的,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:判断是否存在预先创建的预加载活动窗口堆栈;若不存在,则按照预设规则创建预加载活动窗口堆栈;基于所创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。这样设置的好处在于,在确定待预加载应用程序之后,判断预加载Stack是否存在,若存在,则无需新建,若不存在,则进行创建,可以节省系统资源。可以理解的是,当待预加载应用程序包含多个时,也即需要在短时间内连续预加载多个应用程序时,在第一个待预加载应用程序开始加载前,预加载Stack已创建完毕,那么第二个待预加载应用程序开始加载前,预加载Stack是存在的,可以不必进行上述判断。
本申请实施例中,对基于预加载Stack预加载待预加载应用程序对应的应用界面的具体过程不做限定,例如可以基于预加载Stack的size进行应用界面的绘制并显示等。
在一些实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:创建所述待预加载应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述待预加载应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述待预加载应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述待预加载应用程序对应的应用界面。这样设置的好处在于,能够基于屏幕坐标范围之外的预加载活动窗口堆栈对待预加载应用程序的应用界面进行绘制并显示,不会干扰前台应用程序的运行及显示,保证系统稳定性,同时有效提高待预加载应用程序启动时的速度。在创建目标进程的同时,还可包括目标进程的初始化过程。在上述步骤的执行过程中,还可能涉及其他资源的预加载,如应用服务启动、内存分配、文件内容读取及网络数据获取等,本申请实施例对其他资源的预加载过程不做限定。
在一些实施例中,还包括:向所述待预加载应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述待预加载应用程序对应的应用界面的持续绘制以及显示更新。这样设置的好处在于,能够在待预加载应用程序获得焦点并对系统可见的情况下完成应用界面的绘制及显示,提高预加载的完成度,且不对前台应用的焦点产生影响。本申请实施例中的焦点又称为输入焦点,伪造焦点与前台应用对应的焦点相互独立。一般的,对于目前的Android系统来说,焦点是唯一的,例如触摸等输入操作只对焦点生效,对于输入焦点信息,系统端和应用端是一致的,系统端一旦修改输入焦点信息,就会向应用发送输入焦点信息发生变化的信息,以此方法保证系统端和应用端输入焦点信息一致。本申请实施例中,通过分离系统端和应用端输入焦点信息的方式,实现应用端可伪造焦点的目的。具体的,本申请实施例中,对预加载应用伪造焦点通知,使预加载应用具有焦点信息,而系统端的焦点信息仍然是正确的,这样处理可以使得预加载应用能够正常绘制,达到全部加载的目的。焦点存在于系统端和应用端,可认为是服务端(server)和客户端(client),系统端记录拥有焦点的应用,应用端保存标志位(flag)标识自己是否有焦点。伪造输入焦点的时机可以是当Android的窗口系统新增窗口,需要更新焦点时,生成伪造焦点通知并进行发送。伪造焦点的方法可以是调用窗口的client端的改变窗口焦点的方法,使得该窗口获取焦点。具体的,可基于Binder机制进行伪造焦点通知的发送,Binder机制是Android系统的进程间通信的最常用的方式,采用c/s架构,即客户/服务架构。
本申请实施例中,预设时间段可根据实际情况设计,例如可以是开始预加载后的固定时长范围内,也可以是开始预加载到完成预加载的时段等。在一些实施例中,所述预设时间段的长度包括所述待预加载应用程序中启动广告或启动动画的播放时长。一些应用程序在启动的过程中,通常会播放一些广告或动画,广告或动画的播放时长通常为3秒至十几秒不等,在播放广告或动画期间,用户可能没办法进行任何操作,只能等待播放完毕,浪费用户的宝贵时间。本申请实施例这样设置的好处在于,能够在待预加载应用程序启动之前,在屏幕外播放完启动广告或启动动画,当待预加载应用程序启动时,可直接进入应用程序的主页面或其他用户可操作的界面,从而将待预加载应用程序的可操作时间点进一步提前,减少等待时间。
在一些实施例中,在接收到已进行预加载的预加载应用程序(当待预加载应用程序已进行了预加载操作后,可将该待预加载应用程序称为预加载应用程序)的运行指令时,将所述预加载活动窗口堆栈中包含的所述预加载应用程序对应的应用界面迁移至所述显示屏幕进行显示。具体的,所述将所述预加载活动窗口堆栈中包含的所述预加载应用程序对应的应用界面迁移至所述显示屏幕进行显示,包括:将所述预加载活动窗口堆栈中包含的所述预加载应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述预加载应用程序对应的应用界面在所述显示屏幕进行显示。这样设置的好处在于,能够保证界面迁移过程的稳定性,保证恢复过程不会出现卡屏、黑屏或迁移速度慢等问题。
进一步的,在确定待预加载应用程序后,还可根据目标信息预测用户需要的目标应用界面,在进行预加载时,基于预加载Stack预加载待预加载应用程序对应的目标应用界面,在接收到所述待预加载应用程序的运行指令时,将目标应用界面迁移至显示屏幕进行显示。这样设置的好处在于,在应用程序启动后,无需用户手动找到自己所需要的界面或功能,而是由终端直接显示目标应用界面,进一步减少用户操作,使终端更加智能化。
对于一些终端来说,尤其是手机及平板电脑等移动终端,为了方便用户的使用,显示屏幕的显示方式通常包括竖屏显示和横屏显示,许多应用程序默认采用竖屏方式进行显示,而有些应用程序默认采用横屏方式进行显示(如一些网络游戏),在终端的使用过程中,有些应用程序还会随着用户握持终端的方向而进行横竖屏显示的切换。在本申请的一些实施例中,所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为系统坐标,所述系统坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度。也就是说,H对应的边是显示屏幕的显示区域的最大边,在竖屏显示时为显示屏幕的高,在横屏显示时为显示屏幕的宽。这样设置的目的是考虑到显示屏幕横屏、预加载应用横屏显示,以及一些应用程序的正常显示。图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图2所示,此时显示屏幕为竖屏方式,终端系统坐标的原点为显示屏幕201的左顶点(0,0),显示屏幕201的宽度方向为X轴,高度方向为Y轴,预加载Stack202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。图3为本申请实施例提供的又一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图3所示,此时显示屏幕为横屏方式,终端系统坐标的原点为显示屏幕301的左顶点(0,0),显示屏幕301的高度方向为X轴,宽度方向为Y轴,预加载Stack202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。
预加载Stack各个边界如此设置的原因在于:
左上角的横坐标为H,是为了防止横屏时显示屏幕(也可称为主屏幕)显示到预加载应用的界面,因为主屏幕除了竖屏模式,还有横屏模式,当主屏幕横屏的时候,为了防止主屏幕显示区域显示了预加载的应用的局部,所以将预加载Stack对应的矩形区域的左上角横坐标设为屏幕高。
左上角的纵坐标为0,是为了预加载应用能够正确计算状态栏高度。Android应用为了更好的设计用户界面(User Interface,UI),会自定义顶部状态栏,如果上边对应的纵坐标不等于0,那么状态栏的高度可能会错误。
右下角的横坐标为2H(2倍屏幕高),即预加载Stack对应的矩形的宽=屏幕高,是为了预加载Stack的size能够包含预加载时候的横屏应用(即应用界面为横屏显示方式的应用程序)。
右下角的纵坐标为H,即预加载Stack对应的矩形的高=屏幕高,是为了预加载Stack的size能够包含预加载时候的竖屏应用。
基于上述的原因,发明人将预加载Stack的size设置为(H,0,2H,H)。
在一些实施例中,根据所述目标信息确定待预加载应用程序,包括:根据所述目标信息和当前的状态特征信息确定待预加载应用程序。其中,所述状态特征信息包括以下至少一项:时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、上一个前台应用程序、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、移动终端的运动状态、位置信息、蓝牙连接状态和上一次屏幕熄灭时长。这样设置的好处在于,进一步丰富训练样本中的样本元素,能够进一步提高应用预测的准确度。
示例性的,可以将目标信息和当前的状态特征信息输入至第四应用预测模型,根据所述第四应用预测模型的输出结果确定待预加载应用程序;其中,所述第四应用预测模型根据第四预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,出现所述交互内容后所打开的应用程序的规律以及打开应用程序时的状态特征信息训练得到。第三应用预测模型可以是统计模型或者机器学习模型,或者两者的混合模型等。所采用的算法同样可以包括RNN、LSTM网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、KNN算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度等等,本申请实施例不做限定。
图4为本申请实施例提供的另一种应用程序预加载方法的流程示意图,该方法包括如下步骤:
步骤401、获取当前处于前台运行状态的应用程序的应用标识。
示例性的,可根据应用程序的进程号确定应用标识。
步骤402、根据应用标识判断所述应用程序是否为预设社交类应用程序,若是,则执行步骤403;否则,返回执行步骤401。
示例性的,读取已开启预加载功能的社交类应用程序的应用标识列表,判断所获取的应用标识是否存在于该列表中,若存在,则确定前台应用程序为预设社交类应用程序。
步骤403、获取所述应用程序对应的目标信息。
其中,所述目标信息包括交互对象和交互内容。
步骤404、将所述目标信息输入至应用预测模型。
步骤405、根据应用预测模型的输出结果确定待预加载应用程序。
步骤406、基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。
其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
本申请实施例提供的应用程序预加载方法,在用户使用预设社交类应用程序时,获取当前的交互对象和交互内容,并输入至预先训练好的应用预测模型中,得到用户可能即将打开的应用程序,将其作为待预加载应用程序对应用界面进行预加载,这样,在用户主动打开某个应用程序时,该应用程序的应用界面已经被预加载,可快速进入应用界面,从而提高启动速度,缩短用户的等待时间。
图5为本申请实施例提供的又一种应用程序预加载方法的流程示意图,如图5所示,该方法包括:
步骤501、获取当前处于前台运行状态的应用程序的应用标识。
示例性的,可根据应用程序的进程号确定应用标识。
步骤502、根据应用标识判断所述应用程序是否为预设社交类应用程序,若是,则执行步骤503;否则,返回执行步骤501。
步骤503、获取所述应用程序对应的目标信息和当前的状态特征信息。
其中,所述目标信息包括交互对象和交互内容。
步骤504、将所述目标信息和所述状态特征信息输入至预设应用预测模型。
步骤505、根据预设应用预测模型的输出结果确定待预加载应用程序。
步骤506、基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。
其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
步骤507、在预加载应用显示区域显示已进行预加载的预加载应用程序对应的图标。
图6为本申请实施例提供的一种快速启动入口显示界面示意图。如图6所示,以手机为例,用户D在手机中使用某个预设社交类应用程序与C聊天,在显示屏的空白区域设置了预加载应用程序的显示区域601,可以以浮窗的形式体现(位置可以动态变化,透明度也可以设置,如为了避免遮挡住聊天内容,透明度可设置为70%),在显示区域601中显示了预加载应用程序602(以应用程序图标的形式显示对应的快速启动入口),图中示出了1个预加载应用程序,也可以是多个,本申请对同时显示的预加载应用程序的数量不做限定。当同时显示N个时,若进行预加载的预加载应用程序大于N个,那么可以进行滚动显示,以控制显示区域601占用的显示屏幕显示区域的比例。
步骤508、当用户长按第一图标时,将预加载活动窗口堆栈中包含的第一图标对应的应用界面迁移至显示屏幕进行显示。
如图6所示,当用户长按预加载应用程序602之后,将预加载Stack中包含的预加载的支付宝应用的应用界面迁移至显示屏幕进行显示。
进一步的,可对支付宝的余额查询界面进行预加载,在用户长按预加载应用程序602之后,启动支付宝并直接将预加载好的余额查询界面迁移至显示屏幕进行显示。
本申请实施例提供的应用程序预加载方法,在用户使用预设社交类应用程序时,根据交互对象和交互内容以及当前的状态特征信息确定待预加载应用程序,对待预加载应用程序的应用界面进行预加载,并在预设社交类应用程序所在的界面中显示已进行预加载的应用程序的图标,这样,用户无需去桌面寻找应用图标,直接从预加载应用显示区域中直接打开该应用程序时,可进一步提升应用程序的启动速度,同时减少用户的操作及等待时间。
图7为本申请实施例提供的一种应用程序预加载装置的结构框图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序预加载方法来进行应用程序的预加载。如图7所示,该装置包括:
前台应用检测模块701,用于检测预设应用程序是否处于前台运行状态,其中,所述预设应用程序包括社交类应用程序;
目标信息获取模块702,用于在检测到预设应用程序处于前台运行状态时,获取所述预设应用程序对应的目标信息,所述目标信息包括交互对象和/或交互内容;
预加载模块703,用于根据所述目标信息确定待预加载应用程序,并对所述待预加载应用程序进行预加载。
本申请实施例中提供的应用程序预加载装置,检测到预设社交类应用程序处于前台运行状态,获取预设应用程序对应的交互对象和/或交互内容,根据获取内容确定待预加载应用程序,并进行预加载。通过采用上述技术方案,可以根据用户当前正在使用的社交类应用程序中的交互对象或交互内容来预测用户可能会打开的应用程序,并对预测出来的应用程序进行预加载,预测结果准确率高,可提升预加载应用程序的启动速度。
可选的,所述目标信息包括交互对象;
所述根据所述目标信息确定待预加载应用程序,包括:
将所述交互对象输入至第一应用预测模型,根据所述第一应用预测模型的输出结果确定待预加载应用程序;其中,所述第一应用预测模型根据第一预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,所打开的应用程序的规律训练得到。
可选的,所述目标信息包括交互内容;
所述根据所述目标信息确定待预加载应用程序,包括:
针对预设关键字对所述交互内容进行识别,所述预设关键字与应用程序名称或应用程序中的功能相关;根据识别到的预设关键字确定待预加载应用程序;或者,
将所述交互内容输入至第二应用预测模型,根据所述第二应用预测模型的输出结果确定待预加载应用程序;其中,所述第二应用预测模型根据第二预设历史时段内,用户基于所述预设应用程序与其他用户进行交互的过程中,出现所述交互内容后所打开的应用程序的规律训练得到。
可选的,所述目标信息包括交互对象和交互内容;
所述根据所述目标信息确定待预加载应用程序,包括:
将所述交互对象和所述交互内容输入至第三应用预测模型,根据所述第三应用预测模型的输出结果确定待预加载应用程序;其中,所述第三应用预测模型根据第三预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,出现所述交互内容后所打开的应用程序的规律训练得到。
可选的,该装置还包括:
启动入口提供模块,用于在对所述待预加载应用程序进行预加载之后,向用户提供已进行预加载的预加载应用程序对应的快速启动入口;
启动模块,用于在用户以预设方式触发所述快速启动入口时,启动对应的预加载应用程序。
可选的,对所述待预加载应用程序进行预加载,包括:
基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
可选的,根据所述目标信息确定待预加载应用程序,包括:
根据所述目标信息和当前的状态特征信息确定待预加载应用程序;
其中,所述状态特征信息包括以下至少一项:
时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、上一个前台应用程序、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、移动终端的运动状态、位置信息、蓝牙连接状态和上一次屏幕熄灭时长。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序预加载方法,该方法包括:
检测到预设应用程序处于前台运行状态,其中,所述预设应用程序包括社交类应用程序;
获取所述预设应用程序对应的目标信息,所述目标信息包括交互对象和/或交互内容;
根据所述目标信息确定待预加载应用程序,并对所述待预加载应用程序进行预加载。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序预加载操作,还可以执行本申请任意实施例所提供的应用程序预加载方法中的相关操作。
本申请实施例提供了一种终端,该终端中可集成本申请实施例提供的应用程序提示装置。图8为本申请实施例提供的一种终端的结构示意图。终端800可以包括:存储器801,处理器802及存储在存储器801上并可在处理器802运行的计算机程序,所述处理器802执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。
本申请实施例提供的终端,可以根据用户当前正在使用的社交类应用程序中的交互对象或交互内容来预测用户可能会打开的应用程序,并对预测出来的应用程序进行预加载,预测结果准确率高,可提升预加载应用程序的启动速度。
图9为本申请实施例提供的又一种终端的结构示意图,该终端可以包括:壳体(图中未示出)、存储器901、中央处理器(central processing unit,CPU)902(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU902和所述存储器901设置在所述电路板上;所述电源电路,用于为所述终端的各个电路或器件供电;所述存储器901,用于存储可执行程序代码;所述CPU902通过读取所述存储器901中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
检测到预设应用程序处于前台运行状态,其中,所述预设应用程序包括社交类应用程序;
获取所述预设应用程序对应的目标信息,所述目标信息包括交互对象和/或交互内容;
根据所述目标信息确定待预加载应用程序,并对所述待预加载应用程序进行预加载。
所述终端还包括:外设接口903、RF(Radio Frequency,射频)电路905、音频电路906、扬声器911、电源管理芯片908、输入/输出(I/O)子系统909、其他输入/控制设备910、触摸屏912、其他输入/控制设备910以及外部端口904,这些部件通过一个或多个通信总线或信号线907来通信。
应该理解的是,图示终端900仅仅是终端的一个范例,并且终端900可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于应用程序预加载的终端进行详细的描述,该终端以手机为例。
存储器901,所述存储器901可以被CPU902、外设接口903等访问,所述存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口903,所述外设接口903可以将设备的输入和输出外设连接到CPU902和存储器901。
I/O子系统909,所述I/O子系统909可以将设备上的输入输出外设,例如触摸屏912和其他输入/控制设备910,连接到外设接口903。I/O子系统909可以包括显示控制器9091和用于控制其他输入/控制设备910的一个或多个输入控制器9092。其中,一个或多个输入控制器9092从其他输入/控制设备910接收电信号或者向其他输入/控制设备910发送电信号,其他输入/控制设备910可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器9092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏912,所述触摸屏912是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统909中的显示控制器9091从触摸屏912接收电信号或者向触摸屏912发送电信号。触摸屏912检测触摸屏上的接触,显示控制器9091将检测到的接触转换为与显示在触摸屏912上的用户界面对象的交互,即实现人机交互,显示在触摸屏912上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路905,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路905接收并发送RF信号,RF信号也称为电磁信号,RF电路905将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路905可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路906,主要用于从外设接口903接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器911。
扬声器911,用于将手机通过RF电路905从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片908,用于为CPU902、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
上述实施例中提供的应用程序预加载装置、存储介质及终端可执行本申请任意实施例所提供的应用程序预加载方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用程序预加载方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (14)

1.一种应用程序预加载方法,其特征在于,包括:
检测到预设应用程序处于前台运行状态,其中,所述预设应用程序包括社交类应用程序;
获取所述预设应用程序对应的目标信息,所述目标信息包括交互对象和交互内容;
根据所述目标信息确定待预加载应用程序,并对所述待预加载应用程序进行预加载,基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外;
所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面包括:创建所述待预加载应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述待加载应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述待加载应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述待预加载应用程序对应的应用界面;
根据所述目标信息确定待预加载应用程序包括:根据所述目标信息和当前的状态特征信息确定待预加载应用程序,将所述目标信息和当前的状态特征信息输入至第四应用预测模型,根据所述第四应用预测模型的输出结果确定待预加载应用程序;其中所述第四应用预测模型根据第四预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,出现所述交互内容后所打开的应用程序的规律以及打开应用程序时的状态特征信息训练得到。
2.根据权利要求1所述的方法,其特征在于,所述目标信息包括交互对象;
所述根据所述目标信息确定待预加载应用程序,包括:
将所述交互对象输入至第一应用预测模型,根据所述第一应用预测模型的输出结果确定待预加载应用程序;其中,所述第一应用预测模型根据第一预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,所打开的应用程序的规律训练得到。
3.根据权利要求1所述的方法,其特征在于,所述目标信息包括交互内容;
所述根据所述目标信息确定待预加载应用程序,包括:
针对预设关键字对所述交互内容进行识别,所述预设关键字与应用程序名称或应用程序中的功能相关;根据识别到的预设关键字确定待预加载应用程序;或者,
将所述交互内容输入至第二应用预测模型,根据所述第二应用预测模型的输出结果确定待预加载应用程序;其中,所述第二应用预测模型根据第二预设历史时段内,用户基于所述预设应用程序与其他用户进行交互的过程中,出现所述交互内容后所打开的应用程序的规律训练得到。
4.根据权利要求1所述的方法,其特征在于,所述目标信息包括交互对象和交互内容;
所述根据所述目标信息确定待预加载应用程序,包括:
将所述交互对象和所述交互内容输入至第三应用预测模型,根据所述第三应用预测模型的输出结果确定待预加载应用程序;其中,所述第三应用预测模型根据第三预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,出现所述交互内容后所打开的应用程序的规律训练得到。
5.根据权利要求1-4任一所述的方法,其特征在于,在对所述待预加载应用程序进行预加载之后,还包括:
向用户提供已进行预加载的预加载应用程序对应的快速启动入口;
当用户以预设方式触发所述快速启动入口时,启动对应的预加载应用程序。
6.根据权利要求1所述的方法,其特征在于,
其中,所述状态特征信息包括以下至少一项:
时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、上一个前台应用程序、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、移动终端的运动状态、位置信息、蓝牙连接状态和上一次屏幕熄灭时长。
7.一种应用程序预加载装置,其特征在于,包括:
前台应用检测模块,用于检测预设应用程序是否处于前台运行状态,其中,所述预设应用程序包括社交类应用程序;
目标信息获取模块,用于在检测到预设应用程序处于前台运行状态时,获取所述预设应用程序对应的目标信息,所述目标信息包括交互对象和交互内容;
预加载模块,用于根据所述目标信息和当前的状态特征信息确定待预加载应用程序,并对所述待预加载应用程序进行预加载,基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外;所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面包括:创建所述待预加载应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述待加载应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述待加载应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述待预加载应用程序对应的应用界面;
所述预加载模块,还用于将所述目标信息和当前的状态特征信息输入至第四应用预测模型,根据所述第四应用预测模型的输出结果确定待预加载应用程序;其中所述第四应用预测模型根据第四预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,出现所述交互内容后所打开的应用程序的规律以及打开应用程序时的状态特征信息训练得到。
8.根据权利要求7所述的装置,其特征在于,所述目标信息包括交互对象;
所述预加载模块,还用于将所述交互对象输入至第一应用预测模型,根据所述第一应用预测模型的输出结果确定待预加载应用程序;其中,所述第一应用预测模型根据第一预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,所打开的应用程序的规律训练得到。
9.根据权利要求7所述的装置,其特征在于,所述目标信息包括交互内容;
所述预加载模块,还用于针对预设关键字对所述交互内容进行识别,所述预设关键字与应用程序名称或应用程序中的功能相关;根据识别到的预设关键字确定待预加载应用程序;或者,
将所述交互内容输入至第二应用预测模型,根据所述第二应用预测模型的输出结果确定待预加载应用程序;其中,所述第二应用预测模型根据第二预设历史时段内,用户基于所述预设应用程序与其他用户进行交互的过程中,出现所述交互内容后所打开的应用程序的规律训练得到。
10.根据权利要求7所述的装置,其特征在于,所述目标信息包括交互对象和交互内容;
所述预加载模块,还用于将所述交互对象和所述交互内容输入至第三应用预测模型,根据所述第三应用预测模型的输出结果确定待预加载应用程序;其中,所述第三应用预测模型根据第三预设历史时段内,用户基于所述预设应用程序与所述交互对象进行交互的过程中,出现所述交互内容后所打开的应用程序的规律训练得到。
11.根据权利要求7-10任一所述的装置,其特征在于,还包括:
启动入口提供模块,用于在对所述待预记载应用程序进行预加载之后,向用户提供已进行预加载的预加载应用程序对应的快速启动入口;
启动模块,用于当用户以预设方式触发所述快速启动入口时,启动对应的预加载应用程序。
12.根据权利要求7所述的装置,其特征在于,
其中,所述状态特征信息包括以下至少一项:
时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、上一个前台应用程序、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、移动终端的运动状态、位置信息、蓝牙连接状态和上一次屏幕熄灭时长。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的应用程序预加载方法。
14.一种终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6任一所述的应用程序预加载方法。
CN201810400917.9A 2018-04-28 2018-04-28 应用程序预加载方法、装置、存储介质及终端 Active CN108647052B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810400917.9A CN108647052B (zh) 2018-04-28 2018-04-28 应用程序预加载方法、装置、存储介质及终端
PCT/CN2019/084218 WO2019206213A1 (zh) 2018-04-28 2019-04-25 应用程序预加载方法、装置、存储介质及终端
EP19793314.6A EP3726378A4 (en) 2018-04-28 2019-04-25 METHOD AND APPARATUS FOR PRELOADING AN APPLICATION PROGRAM, INFORMATION SUPPORT AND TERMINAL
US16/926,763 US20200342338A1 (en) 2018-04-28 2020-07-12 Method for preloading application, storage medium, and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810400917.9A CN108647052B (zh) 2018-04-28 2018-04-28 应用程序预加载方法、装置、存储介质及终端

Publications (2)

Publication Number Publication Date
CN108647052A CN108647052A (zh) 2018-10-12
CN108647052B true CN108647052B (zh) 2020-12-01

Family

ID=63748633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810400917.9A Active CN108647052B (zh) 2018-04-28 2018-04-28 应用程序预加载方法、装置、存储介质及终端

Country Status (4)

Country Link
US (1) US20200342338A1 (zh)
EP (1) EP3726378A4 (zh)
CN (1) CN108647052B (zh)
WO (1) WO2019206213A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
US11397555B2 (en) 2017-10-26 2022-07-26 Tensera Networks Ltd. Background pre-loading and refreshing of applications with audio inhibition
WO2019171237A1 (en) 2018-03-05 2019-09-12 Tensera Networks Ltd. Application preloading in the presence of user actions
US11922187B2 (en) 2018-03-05 2024-03-05 Tensera Networks Ltd. Robust application preloading with accurate user experience
CN108647052B (zh) * 2018-04-28 2020-12-01 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN108647056B (zh) * 2018-05-10 2020-04-24 上海瑾盛通信科技有限公司 应用程序预加载方法、装置、存储介质及终端
CN108595227A (zh) 2018-05-10 2018-09-28 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及移动终端
CN108595228B (zh) 2018-05-10 2021-03-12 Oppo广东移动通信有限公司 应用程序预测模型建立方法、装置、存储介质及移动终端
CN108710513B (zh) 2018-05-15 2020-07-21 Oppo广东移动通信有限公司 应用程序启动方法、装置、存储介质及终端
CN108804157A (zh) 2018-06-05 2018-11-13 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN111597009B (zh) * 2018-09-21 2023-08-04 Oppo广东移动通信有限公司 应用程序显示的方法、装置及终端设备
CN111597431A (zh) * 2019-02-21 2020-08-28 北京搜狗科技发展有限公司 一种推荐方法、装置和电子设备
CN110139288B (zh) * 2019-04-08 2022-07-01 简链科技(广东)有限公司 一种网络通话方法、装置、系统和记录介质
EP4004767A4 (en) 2019-07-30 2023-03-08 Tensera Networks Ltd. PRE-RENDERING APPLICATION USER INTERFACES INTO USER DEVICES
KR20210060213A (ko) * 2019-11-18 2021-05-26 삼성전자주식회사 어플리케이션을 프리로드하는 방법 및 이를 지원하는 전자 장치
CN111427852A (zh) * 2020-03-09 2020-07-17 深圳市明润建筑设计有限公司 基于bim的住宅二级数模建模方法、系统及其存储介质
CN111597006A (zh) * 2020-05-19 2020-08-28 Oppo广东移动通信有限公司 应用分屏方法、装置、存储介质及电子设备
KR20220064655A (ko) * 2020-11-12 2022-05-19 삼성전자주식회사 전자 장치 및 전자 장치의 어플리케이션 실행 방법
CN116670646A (zh) * 2020-12-03 2023-08-29 腾赛拉网络有限公司 预加载具有现有任务的应用
CN113282853B (zh) * 2021-05-26 2024-04-16 北京字跳网络技术有限公司 一种评论预加载方法、装置、存储介质及电子设备
CN115016855B (zh) * 2021-11-17 2023-05-09 荣耀终端有限公司 应用预加载的方法、设备和存储介质
CN115016695A (zh) * 2021-11-18 2022-09-06 荣耀终端有限公司 一种应用程序启动方法及电子设备
CN115442157B (zh) * 2022-11-03 2023-03-24 杭州乾冠数字物联技术有限公司 一种网络安全传输方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1940858A (zh) * 2005-09-26 2007-04-04 深圳市朗科科技有限公司 媒体播放装置上实现多任务的方法
CN103995716A (zh) * 2014-05-06 2014-08-20 华为技术有限公司 一种终端的应用启动方法及终端
CN106874091A (zh) * 2017-02-06 2017-06-20 宇龙计算机通信科技(深圳)有限公司 一种应用程序调用方法、装置及移动终端
CN107016038A (zh) * 2015-12-28 2017-08-04 三星电子株式会社 执行应用的方法和支持该方法的电子设备
CN107092412A (zh) * 2017-03-06 2017-08-25 上海斐讯数据通信技术有限公司 一种快速启动app的方法及移动终端
CN107508961A (zh) * 2017-06-26 2017-12-22 努比亚技术有限公司 一种活动窗口启动方法、终端及计算机可读存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747749B1 (en) * 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
WO2013070126A1 (en) * 2011-11-10 2013-05-16 Telefonaktiebolaget L M Ericsson (Publ) Policy controlled preload and consumption of software application
CN102819436B (zh) * 2012-08-01 2016-03-30 广州博冠信息科技有限公司 一种基于网页邮箱的用户界面交互方法和设备
US9104813B2 (en) * 2012-12-15 2015-08-11 International Business Machines Corporation Software installation method, apparatus and program product
CN104298554B (zh) * 2013-07-15 2019-01-18 北京三星通信技术研究有限公司 管理多任务应用程序的方法及装置
US9508040B2 (en) * 2013-06-12 2016-11-29 Microsoft Technology Licensing, Llc Predictive pre-launch for applications
CN103376974A (zh) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 一种窗口切换方法及装置
US9588897B2 (en) * 2013-07-19 2017-03-07 Samsung Electronics Co., Ltd. Adaptive application caching for mobile devices
RU2595529C2 (ru) * 2014-05-29 2016-08-27 Общество С Ограниченной Ответственностью "Яндекс" Способ селективной загрузки набора модулей, электронное устройство и носитель данных
WO2018055506A1 (en) * 2016-09-22 2018-03-29 Tensera Networks Ltd. An optimized content-delivery network (cdn) for the wireless last mile
JP2016046719A (ja) * 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
CN104809174A (zh) * 2015-04-13 2015-07-29 深圳市金立通信设备有限公司 一种终端应用的打开方法
CN105824657B (zh) * 2015-07-27 2018-06-26 维沃移动通信有限公司 一种显示应用程序的方法及移动终端
KR102401772B1 (ko) * 2015-10-02 2022-05-25 삼성전자주식회사 전자 장치에서 어플리케이션 실행 장치 및 방법
CN105912215A (zh) * 2016-04-25 2016-08-31 上海斐讯数据通信技术有限公司 一种应用程序的切换方法及移动终端
CN105939416A (zh) * 2016-05-30 2016-09-14 努比亚技术有限公司 移动终端及其应用预启动方法
CN106055369A (zh) * 2016-06-08 2016-10-26 维沃移动通信有限公司 一种移动终端应用程序的启动方法及移动终端
US11049147B2 (en) * 2016-09-09 2021-06-29 Sony Corporation System and method for providing recommendation on an electronic device based on emotional state detection
CN106648747B (zh) * 2016-11-14 2021-01-05 腾讯科技(深圳)有限公司 进程预加载处理方法及装置
CN106874095A (zh) * 2017-02-28 2017-06-20 珠海市魅族科技有限公司 一种应用加载方法及装置
CN107678823A (zh) * 2017-09-30 2018-02-09 广东欧珀移动通信有限公司 移动终端应用的控制方法、装置及存储介质和移动终端
CN107783801B (zh) * 2017-11-06 2021-03-12 Oppo广东移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
CN108647052B (zh) * 2018-04-28 2020-12-01 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1940858A (zh) * 2005-09-26 2007-04-04 深圳市朗科科技有限公司 媒体播放装置上实现多任务的方法
CN103995716A (zh) * 2014-05-06 2014-08-20 华为技术有限公司 一种终端的应用启动方法及终端
CN107016038A (zh) * 2015-12-28 2017-08-04 三星电子株式会社 执行应用的方法和支持该方法的电子设备
CN106874091A (zh) * 2017-02-06 2017-06-20 宇龙计算机通信科技(深圳)有限公司 一种应用程序调用方法、装置及移动终端
CN107092412A (zh) * 2017-03-06 2017-08-25 上海斐讯数据通信技术有限公司 一种快速启动app的方法及移动终端
CN107508961A (zh) * 2017-06-26 2017-12-22 努比亚技术有限公司 一种活动窗口启动方法、终端及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Web技术进行移动应用开发和中间件的研究;罗宏俊;冯瑞;《计算机系统应用》;20171130;第19-27页 *

Also Published As

Publication number Publication date
EP3726378A1 (en) 2020-10-21
WO2019206213A1 (zh) 2019-10-31
CN108647052A (zh) 2018-10-12
US20200342338A1 (en) 2020-10-29
EP3726378A4 (en) 2021-05-19

Similar Documents

Publication Publication Date Title
CN108647052B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108363593B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108614722B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108762843B (zh) 应用程序的预加载方法、装置、存储介质及智能终端
CN108647055B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108829457B (zh) 应用程序预测模型更新方法、装置、存储介质及终端
CN108595230B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108710513B (zh) 应用程序启动方法、装置、存储介质及终端
CN108681475B (zh) 应用程序预加载方法、装置、存储介质及移动终端
CN108958830B (zh) 应用程序启动方法、装置、存储介质及终端
EP3579104B1 (en) Method and apparatus for establishing an application prediction model, storage medium and terminal
US11467855B2 (en) Application preloading method and device, storage medium and terminal
CN108595224B (zh) 应用程序提示方法、装置、存储介质及终端
CN108595231B (zh) 应用程序预加载方法、装置、存储介质及智能终端
US11099861B2 (en) Method for preloading application, storage medium, and terminal
CN108958828B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108762831B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108804153B (zh) 应用程序的预加载方法、装置、存储介质及终端
CN108647056B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108776599B (zh) 预加载应用的管理方法、装置、存储介质及智能终端
CN108762844B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108762836B (zh) 预加载应用的管理方法、装置、存储介质及智能终端
CN108710512B (zh) 应用程序的预加载方法、装置、存储介质及智能终端
CN108664286B (zh) 应用程序预加载方法、装置、存储介质及移动终端
CN108845838B (zh) 应用程序预加载方法、装置、存储介质及终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant