应用程序处理方法、装置、电子设备以及存储介质
文献发布时间:2023-06-19 11:52:33
技术领域
本申请涉及电子设备技术领域,更具体地,涉及一种应用程序处理方法、装置、电子设备以及存储介质。
背景技术
随着科学技术的发展,电子设备的使用越来越广泛,功能越来越多,已经成为人们日常生活中的必备之一。目前,电子设备可以运行应用程序(application software,APP),然而随着电子设备中的应用程序的数量越来越多,以及单个应用程序的对电子设备的运行内存的需求越来越高,导致电子设备在启动应用程序时速度较慢的问题。
发明内容
鉴于上述问题,本申请提出了一种应用程序处理方法、装置、电子设备以及存储介质,以解决上述问题。
第一方面,本申请实施例提供了一种应用程序处理方法,应用于电子设备,所述方法包括:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行的第一应用程序;将所述当前使用信息输入应用程序预测模型,获得所述应用程序预测模型输出的第二应用程序,所述第二应用程序为所述应用程序预测模型预测的在所述第一应用程序之后运行的应用程序;当所述电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取所述目标特定事件对应跳转的第三应用程序;基于所述第二应用程序和所述第三应用程序,获得目标应用程序;对所述目标应用程序的运行进行预处理。
第二方面,本申请实施例提供了一种应用程序处理装置,应用于电子设备,所述装置包括:当前使用信息获取模块,用于获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行的第一应用程序;第二应用程序获取模块,用于将所述当前使用信息输入应用程序预测模型,获得所述应用程序预测模型输出的第二应用程序,所述第二应用程序为所述应用程序预测模型预测的在所述第一应用程序之后运行的应用程序;第三应用程序获取模块,用于当所述电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取所述目标特定事件对应跳转的第三应用程序;目标应用程序获取模块,用于基于所述第二应用程序和所述第三应用程序,获得目标应用程序;预处理模块,用于对所述目标应用程序的运行进行预处理。
第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
本申请实施例提供的应用程序处理方法、装置、电子设备以及存储介质,获取电子设备的当前使用信息,当前使用信息至少包括当前运行的第一应用程序,将当前使用信息输入应用程序预测模型,获得应用程序预测模型输出的第二应用程序,当电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取目标特定事件对应跳转的第三应用程序,基于第二应用程序和第三应用程序获得目标应用程序,对目标应用程序的运行进行预处理,从而通过应用程序预测模型预测在当前运行的应用程序之后运行的应用程序,并在监听到特定事件时,获取特定事件对应跳转的应用程序对应用程序预测模型预测的预测结果进行修正,提升预测结果的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请一个实施例提供的应用程序处理方法的流程示意图;
图2示出了本申请又一个实施例提供的应用程序处理方法的流程示意图;
图3示出了本申请的图2所示的应用程序处理方法的步骤S209的流程示意图;
图4示出了本申请再一个实施例提供的应用程序处理方法的流程示意图;
图5示出了本申请另一个实施例提供的应用程序处理方法的流程示意图;
图6示出了本申请的图5所示的应用程序处理方法的步骤S404的流程示意图;
图7示出了本申请实施例提供的应用程序处理装置的模块框图;
图8示出了本申请实施例用于执行根据本申请实施例的应用程序处理方法的电子设备的框图;
图9示出了本申请实施例的用于保存或者携带实现根据本申请实施例的应用程序处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
发明人在研究中发现,随着电子设备中的应用程序的数量越来越多,以及单个应用程序的运行内存的需求越来越高,如果能够提前预测到用户下一时刻将要使用哪些应用程序,基于用户将要使用的应用程序进行预处理,可以提升应用程序的运行效率,从而提高用户体验。然而,目前大多是采用传统的机器学习算法来进行应用程序的预测,对于采用传统的机器学习算法而言,其缺点在于算法模型大部分是基于应用使用序列来进行学习,而无法学习到用户与应用程序无关的某些特定事件的行为习惯,此时如果完全采用某些给出的结果而不做任何处理,则预测结果的准确率容易受限,很难有较大的提升。
针对上述问题,发明人经过长期的研究发现,并提出了本申请实施例提供的应用程序处理方法、装置、电子设备以及存储介质,通过应用程序预测模型预测在当前运行的应用程序之后运行的应用程序,并在监听到特定事件时,获取特定事件对应跳转的应用程序对应用程序预测模型预测的预测结果进行修正,提升预测结果的准确性。其中,具体的应用程序处理方法在后续的实施例中进行详细的说明。
请参阅图1,图1示出了本申请一个实施例提供的应用程序处理方法的流程示意图。所述应用程序处理方法用于通过应用程序预测模型预测在当前运行的应用程序之后运行的应用程序,并在监听到特定事件时,获取特定事件对应跳转的应用程序对应用程序预测模型预测的预测结果进行修正,提升预测结果的准确性。在具体的实施例中,所述应用程序处理方法应用于如图7所示的应用程序处理装置200以及配置有所述应用程序处理装置200的电子设备100(图8)。下面将以电子设备为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以为智能手机、平板电脑、穿戴式电子设备等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述应用程序处理方法具体可以包括以下步骤:
步骤S101:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行的第一应用程序。
目前的电子设备可以安装各种应用程序,以满足用户的使用需求。虽然目前电子设备的性能和配置在不断提升和进步,但是电子设备在运行应用程序时,可能由于当前运行的应用程序较多,或者由于运行的应用程序需要的资源较多,仍然可能出现延时和卡顿的现象。为避免应用程序在启动和运行时出现延时和卡顿,可以对即将启动的应用程序进行预测,以在应用程序启动前,进行相应的处理和准备,使后续应用程序启动和运行时不会出现卡顿,提升应用程序运行的效率。
在本申请实施例中,电子设备可以获取当前使用信息,以便根据电子设备的当前使用信息,对即将运行的应用进行预测。其中,当前使用信息可以包括当前运行在电子设备的第一应用的应用信息以及电子设备的状态信息,电子设备的状态信息可以包括当前时间、日期、星期、充电状态、外设连接状态、网络连接状态等,其中,充电状态表示电子设备处于充电或者未充电的状态,外设连接状态表示电子设备是否连接外设(如耳机、音响等)的状态,网络连接状态表示电子设备是否连接网络的状态。当然,具体的使用信息可以不作为限定,例如,也还可以包括电子设备在运行第一应用程序之前所运行的前一个或者多个应用程序。
在一些实施方式中,电子设备可以在满足对应用程序进行预测的预测条件时,获取电子设备的当前使用信息,以对将运行的应用程序进行预测。其中,预测条件可以包括:当前运行的应用为设定应用、当前时间为设定时间、切换当前运行的应用程序至后台运行、退出当前运行的应用程序、或者运行当前运行的应用程序的时长达到设定时长,当然,具体的预测条件可以不作为限定。也就是说,电子设备可以在满足预测条件时才获取当前使用信息,进行应用的预测,而不必一直做应用程序的预测,从而节省功耗。
步骤S102:将所述当前使用信息输入应用程序预测模型,获得所述应用程序预测模型输出的第二应用程序,所述第二应用程序为所述应用程序预测模型预测的在所述第一应用程序之后运行的应用程序。
在本实施例中,在获取电子设备的当前使用信息后,可以将当前使用信息输入已训练的应用程序预测模型,其中,该已训练的应用程序预测模型是通过机器学习获得的,具体地,首先采集训练数据集,其中,训练数据集中的一类数据的属性或特征区别于另一类数据,然后通过将采集的训练数据集按照预设的算法对神经网络进行训练建模,从而基于该训练数据集总结出规律,得到已训练的应用程序预测模型。在本实施例中,训练数据集例如可以是包括电子设备在第一历史时间段内运行应用程序时的多个历史使用信息,以及基于多个历史使用信息中的每个历史使用信息在应用程序之后运行的应用程序。其中,该已训练的应用程序预测模型可以用于根据电子设备的当前使用信息,输出在当前使用信息中包括的正在运行的应用程序之后运行的应用程序。于本实施例中,可以将电子设备的当前使用信息输入已训练的应用程序预测模型,并获取该应用程序预测模型输出的第二应用程序,其中,该第二应用程序即为应用程序预测模型预测的在当前使用信息中包括的正在运行的第一应用程序之后运行的应用程序。
在一些实施方式中,该已训练的应用程序预测模型可以预先训练完成后存储在电子设备本地。基于此,电子设备在获取当前使用信息后,可以直接在本地调用该已训练的应用程序预测模型,例如,可以直接发送指令至应用程序预测模型,以指示该已训练的应用程序预测模型在目标存储区域读取该当前使用信息,或者电子设备可以直接将该当前使用信息输入存储在本地的已训练的应用程序预测模型,从而有效避免由于网络因素的影响降低当前使用信息输入已训练的应用程序预测模型的速度,以提升已训练的应用程序预测模型获取当前使用信息的速度,提升用户体验。
在一些实施方式中,该已训练的应用程序预测模型也可以预先训练完成后存储在与电子设备通信连接的服务器。基于此,电子设备在获取当前使用信息后,可以通过网络发送指令至存储在服务器的已训练的应用程序预测模型,以指示该已训练的应用程序预测模型通过网络读取电子设备的当前使用信息,或者电子设备可以通过网络将当前使用信息发送至存储在服务器的已训练的应用程序预测模型,从而通过将已训练的应用程序预测模型存储在服务器的方式,减少对电子设备的存储空间的占用,降低对电子设备正常运行的影响。
步骤S103:当所述电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取所述目标特定事件对应跳转的第三应用程序。
在一些实施方式中,电子设备在获得应用程序预测模型输出的第二应用程序后,可以监听电子设备是否发生预先设置的多个特定事件中的任意特定事件,其中,如果没有监听到电子设备发生预先设置的多个特定事件中的任意特定事件时,可以直接将第二应用程序确定为目标应用程序;如果监听到电子设备发生预先设置的多个特定事件中的任意特定事件时,可以将监听到的特定事件确定为目标特定事件,并基于预先建立的特定事件和应用程序的跳转关系,获取目标应用程序对应跳转的应用程序作为第三应用程序。其中,在本实施例中,特定事件可以包括外设插拔事件、文本复制事件、拍照事件等,在此不做限定。例如,当电子设备监听到的目标特定事件为外设拔除事件时,可以基于预先建立的特定事件和应用程序的跳转关系,获取外设拔除事件对应跳转的应用程序作为第三应用程序。
在一些实施方式中,该特定事件和应用程序的跳转关系在建立完成后可以存储在电子设备本地。基于此,电子设备在监听到目标特定事件后,可以直接在本地读取特定事件和应用程序的跳转关系,并将目标特定事件和跳转关系中的多个特定事件进行比较,以从跳转关系中的多个特定事件中获取与目标特定事件匹配的特定事件,再获取与目标特定事件匹配的特定事件存在跳转关系的应用程序作为第三应用程序,从而有效避免由于网络因素的影响降低第三应用程序获取的速度,提升用户体验。
在一些实施方式中,该特定事件和应用程序的跳转关系在建立完成后可以存储在与电子设备通信连接的服务器。基于此,电子设备在监听到目标特定事件后,可以通过网络发送目标特定事件至服务器,以指示服务器将目标特定事件和跳转关系中的多个特定事件进行比较,以从跳转关系中的多个特定事件中获取与目标特定事件匹配的特定事件,再获取与目标特定事件匹配的特定事件存在跳转关系的应用程序作为第三应用程序并返回,从而通过将特定事件和应用程序的跳转关系存储在服务器的方式,减少对电子设备的存储空间的占用,降低对电子设备正常运行的影响。
步骤S104:基于所述第二应用程序和所述第三应用程序,获得目标应用程序。
在本实施例中,在获取应用程序预测模型预测的第二应用程序和目标特定事件对应跳转的第三应用程序时,可以基于该第二应用程序和第三应用程序,获得目标应用程序。在一些实施方式中,在获取应用程序预测模型预测的第二应用程序和目标特定事件对应跳转的第三应用程序时,可以将第二应用程序和第三应用程序共同作为目标应用程序;在一些实施方式中,在获取应用程序预测模型预测的第二应用程序和目标特定事件对应跳转的第三应用程序时,若第二应用程序包括第三应用程序,将第二应用程序确定为目标应用程序;在一些实施方式中,第二应用程序的数量为多个,在获取应用程序预测模型预测的第二应用程序和目标特定事件对应跳转的第三应用程序时,将多个第二应用程序中的至少一个第二应用程序替换为第三应用程序,获得目标应用程序。
当然,在本实施例中,基于第二应用程序和第三应用程序,还可以通过其他更多的方式获取目标应用程序,在此不再赘述。
步骤S105:对所述目标应用程序的运行进行预处理。
在本申请实施例中,电子设备可以在获得可能在第一应由程序之后运行的目标应用程序之后,则可以对目标应用程序的运行进行预处理。其中,预处理操作用于提升目标应用程序运行时的速度,以避免启动目标应用程序时的卡顿。在一些实施方式中,对目标应用程序的运行进行预处理可以包括:在电子设备的当前界面弹窗显示目标控件,目标控件用于跳转进入目标应用程序;根据目标应用程序运行时所需的内存资源,对电子设备的内存资源进行优化;和/或预加载目标应用程序。
其中,根据目标应用程序时所需的内存资源,对电子设备的内存资源进行优化可以包括:释放电子设备的内存资源,例如,对应用程序运行后的残留进程进行清理,也可以是对优先级较低(即重要程度较低)的进程进行清理,还可以是对长期不会被操作的应用程序的进程进行清理。当然,具体进行电子设备的内存资源进行优化的策略可以不作为限定。
作为一种具体的实施方式,电子设备可以将目标应用程序运行时所需的内存资源,与电子设备当前剩余的剩余内存资源进行比较;如果电子设备当前剩余的剩余内存资源不小于(大于或等于)目标应用程序运行时所需的内存资源,则可以不进行内存资源的优化;如果电子设备当前剩余的剩余内存资源小于目标应用程序运行时所需的内存资源,则可以释放内存资源,以使剩余内存资源不小于目标应用程序运行时所需的内存资源。
作为另一种具体的实施方式,电子设备可以计算电子设备当前剩余的剩余内存资源与目标应用程序运行时所需的内存资源之间的差值;如果差值小于设定阈值,则可以释放内存资源,以使剩余内存资源与目标应用程序运行时所需的内存资源之间的差值不小于设定阈值;如果差值不小于设定阈值,则可以不进行内存资源的优化。这样的话,可以保证在运行目标应用程序后,也能剩余一定的内存资源,避免电子设备的卡顿。具体的设定阈值可以不作为限定,例如,可以为100兆(Mb),200Mb等。
其中,预加载目标应用程序可以是电子设备对目标应用程序所需求的资源进行预加载。例如,目标应用程序为社交软件时,可以预加载目标应用程序中的启动画面、联系人列表以及消息记录等;又例如,目标应用程序为游戏软件时,可以对游戏载入画面等进行预加载。具体进行预加载的过程和加载的数据资源可以不作为限定。
其中,在电子设备的当前界面弹窗显示目标控件可以是将目标应用程序对应的目标控件进行显示,该目标控件用于触发进入第二应用。其中,电子设备将目标应用程序对应的目标控件进行显示,可以是将目标应用程序对应的目标控件弹窗显示于当前显示的界面中。目标应用程序对应的目标控件可以是目标应用程序对应的应用图标,也可以是用于进入目标应用程序的应用链接,具体的控件形式可以不作为限定。
在一些实施方式中,对目标应用程序的运行进行预处理还可以包括对电子设备的网络资源进行分配。可以理解的,如果目标应用程序为需要使用网络的应用程序时,电子设备可以预先调整网络资源,准备出分配至目标应用程序的网络资源。例如,电子设备可以预先将分配至空闲进程的网络资源进行减少,以空余出分配至目标应用程序的网络资源。当然,具体进行网络资源分配的方式可以不作为限定。
在本申请实施例中,对目标应用程序的运行进行预处理的具体方式可以不作为限定,上述进行内存资源优化、预加载目标应用程序、分配网络资源等方式可以择一进行,也可以选择两个或者全部方式进行。当然,电子设备也还可以进行其他的硬件资源分配,在此不做限定。
本申请一个实施例提供的应用程序处理方法,获取电子设备的当前使用信息,当前使用信息至少包括当前运行的第一应用程序,将当前使用信息输入应用程序预测模型,获得应用程序预测模型输出的第二应用程序,当电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取目标特定事件对应跳转的第三应用程序,基于第二应用程序和第三应用程序获得目标应用程序,对目标应用程序的运行进行预处理,从而通过应用程序预测模型预测在当前运行的应用程序之后运行的应用程序,并在监听到特定事件时,获取特定事件对应跳转的应用程序对应用程序预测模型预测的预测结果进行修正,提升预测结果的准确性。
请参阅图2,图2示出了本申请又一个实施例提供的应用程序处理方法的流程示意图。该应用程序处理方法应用于上述电子设备,下面将针对图2所示的流程进行详细的阐述,所述应用程序处理方法具体可以包括以下步骤:
步骤S201:获取训练数据集,所述训练数据集包括所述电子设备在第一历史时间段内多次运行应用程序时的历史使用信息,以及所述多次运行应用程序时每次运行应用程序之后运行的下一应用程序。
针对前述实施例中的已训练的应用程序预测模型,本申请实施例中还包括对该应用程序预测模型的训练方法,其中,对应用程序预测模型的训练可以是根据获取的训练数据集预先进行的,后续在每次进行第二应用程序的预测时,则可以根据该应用程序预测模型进行预测,而无需每次进行第二应用程序的预测时对应用程序预测模型进行训练。
在一些实施方式中,可以收集该电子设备在第一历史时间段内(例如30天)的应用程序的使用记录,该使用记录包括运行应用程序时的使用信息,以及运行应用程序之后运行的下一个应用程序。具体地,使用记录包括x以及y,x表示运行应用时的使用信息,并将其定义为x=[t,d,A
进一步地,以上收集的应用程序的使用记录可以作为样本数据,其中,x可以作为一个标签,而y则为标签结果。也就是说,每个使用信息都被标注为下一个应用的应用信息,每组样本数据中包括一个输入样本x和一个输出样本y。其中,可以用于训练预设模型的训练数据可以为以上样本数据中的部分,从而构成训练数据集;而测试数据可以为以上样本数据中的另一部分,从而构成测试数据集合。例如,训练数据可以为样本数据中的70%,测试数据可以为样本数据中的30%,具体占比可以不作为限定。
步骤S202:基于所述训练数据集,将每个历史使用信息作为输入数据,以及每个历史使用信息对应的所述下一应用程序作为输出数据,通过机器学习算法进行训练获得应用程序预测模型。
在本申请实施例中,针对该电子设备的训练数据集,可以采用机器学习算法进行训练,从而获得应用程序预测模型。其中,采用的机器学习算法可以包括:神经网络、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leiblerdivergence)等。具体的机器学习算法可以不作为限定。
例如,在使用逻辑回归算法进行训练时,损失函数可以为
又例如,使用随机森林算法进行应用程序预测学习时,取决策树的数目要适中,如N=50,对于树的生成过程,通过信息熵的计算来进行训练样本的划分,其公式为:
下面以神经网络为例,对根据训练数据集合训练初始模型进行说明。
训练数据集中一组数据中的电子设备的使用信息x作为神经网络的输入样本(输入数据),一组数据中标注的电子设备在运行当前运行的应用程序之后运行的下一个应用程序y作为神经网络的输出样本(输出数据)。输入层中的神经元与隐藏层的神经元全连接,隐藏层的神经元与输出层的神经元全连接,从而能够有效提取不同粒度的潜在特征。并且隐藏层数目可以为多个,从而能更好地拟合非线性关系,使得训练得到的预设模型更加准确。
可以理解的,对应用程序预测模型的训练过程可以由电子设备完成,也可以不由电子设备完成。当训练过程不由电子设备完成时,则电子设备可以只是作为直接使用者,也可以是间接使用者。
在一些实施方式中,应用程序预测模型可以周期性的或者不定期的获取新的训练数据,对该应用程序预测模型进行训练和更新。
步骤S203:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行的第一应用程序。
步骤S204:将所述当前使用信息输入应用程序预测模型,获得所述应用程序预测模型输出的第二应用程序,所述第二应用程序为所述应用程序预测模型预测的在所述第一应用程序之后运行的应用程序。
其中,步骤S203-步骤S204的具体描述请参阅步骤S101-步骤S102,在此不再赘述。
步骤S205:获取所述电子设备在第二历史时间段内监听到多个特定事件中的每个特定事件时,对应跳转的至少一个应用程序。
针对前述实施例中的特定事件和应用程序的跳转关系,本申请实施例中还包括对该跳转关系的创建方法,其中,对特定事件和应用程序的跳转关系可以是根据预先获取的多个特定事件和每个特定事件对应跳转的应用程序获得的,在后续每次进行目标特定事件对应的第三应用程序获取时,则可以跳转关系进行获取,而无需每次进行特定事件和应用程序的跳转关系的创建。
在一些实施方式中,可以获取该电子设备在第二历史时间段内监听到多个特定事件中的每个特定事件时,其对应跳转的至少一个应用程序。具体地,特定事件包括:1、外设操作事件(如耳机操作事件),包括插入外设事件和拔出外设事件;2、复制文本操作事件,并通过神经语言程序学(Natural Language Processing,NLP)技术识别所复制的文本归属一下哪种类别:电话号码、网址链接、电影文本相关等;3、拍照操作事件,并通过图像识别技术识别图片内容归属一下哪种类别:人像、美食、美景、文本等。
在一些实施方式中,对于一条特定事件与应用程序使用之间的记录r,可以将其定义为r=(E,C,A)。其中,E表示特定事件,取值范围为[0,2],0表示外设操作事件,1表示复制文本操作事件,2表示拍照操作事件。C表示事件操作中所涉及的内容,当E=0时,C取值范围为[0,1],0表示拔出外设,1表示插入外设;当E=1时,C取值范围为[0,4],0表示复制文本为电话号码,1表示复制文本为网址链接,2表示复制文本为淘口令,3表示复制文本为电影文本相关,4表示复制文本为其他;当E=2时,C取值范围为[0,4],0表示图片内容为人像,1表示图片内容为美食,2表示图片内容为风景,3表示图片内容为文本,4表示图片内容为其他。A表示在某个特定事件E下,事件内容为C时,电子设备下一个运行的应用程序(第三应用程序)。
步骤S206:基于所述多个特定事件和所述每个特定事件对应跳转的至少一个应用程序,建立所述多个特定事件和多个应用程序之间的跳转关系。
在一些实施方式中,在获取多个特定事件,以及多个特定事件中的每个特定事件对应跳转的至少一个应用程序时,可以建立多个特定事件和多个应用程序之间的跳转关系。例如,获取的多个特定事件包括特定事件A、特定事件B以及特定事C,且特定事件A对应跳转应用程序E,特定事件B对应跳转应用程序F,特定事件C对应跳转应用程序G时,则可以建立特定事件A和应用程序E的跳转关系、特定事件B和应用程序F的跳转关系、特定事件C和应用程序G的跳转关系。
步骤S207:基于所述多个特定事件和所述多个应用程序之间的跳转关系,生成多个特定事件和所述多个应用程序之间的跳转矩阵。
在一些实施方式中,在获取多个特定事件和多个应用程序之间的跳转关系后,可以基于多个特定事件和多个应用程序的跳转关系,生成多个特定事件和多个应用程序之间的跳转矩阵M,同时定义m为特定事件E与事件内容C之间存在的总可能数目,例如,特定事件E的种类数为3,当E=0时,C的种类数为2;当E=1时,C的种类数为5;当E=2时,C的种类数为5;所以特定事件E与事件内容C之间存在的总可能数目为12。将上述定义特定事件E与事件内容C之间存在的可能组合进行编号,从0至m-1,比如上述示意中0号表示耳机操作下的拔耳机事件。n为上述记录的应用程序的种类数目,将应用程序进行编号,从0至n-1。
上述定义中M表示特定事件与应用程序之间的跳转矩阵,是一个二维矩阵,维度为m*n,跳转矩阵M中的一行M
上述特定事件与应用程序之间的跳转矩阵M可以如下所示:
步骤S208:当所述电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取每个应用程序在所述目标特定事件下的目标跳转次数。
在一些实施方式中,电子设备在获得应用程序预测模型输出的第二应用程序后,可以监听电子设备是否发生预先设置的多个特定事件中的任意特定事件,其中,如果监听到电子设备发生预先设置的多个特定事件中的任意特定事件时,将监听到的特定事件确定为目标特定事件,并基于预先建立的特定事件和应用程序的跳转关系,获取每个应用程序在该目标特定事件下的跳转次数作为目标跳转次数。
例如,在上述跳转矩阵中,当目标特定事件为插入外设事件时,则可以分别获取XX音乐在该插入外设事件下的目标跳转次数为21次、电话在该插入外设事件下的目标跳转次数为8次、XX浏览器在该插入外设事件下的跳转次数为1次、XX视频在该插入外设事件下的跳转次数为10次。
步骤S209:基于所述目标跳转次数,从所述多个应用程序中获取至少一个应用程序作为所述目标特定事件对应跳转的第三应用程序。
在一些实施方式中,电子设备在获取每个应用程序在目标特定事件下的目标跳转次数时,可以基于该目标跳转次数,从多个应用程序中获取至少一个应用程序作为目标特定事件对应跳转的第三应用程序。例如,可以从多个应用程序中获取目标跳转次数高于次数阈值的应用程序作为第三应用程序。又例如,可以按目标跳转次数从高到低的顺序,从多个应用程序中获取第三应用程序。
请参阅图3,图3示出了本申请的图2所示的应用程序处理方法的步骤S209的流程示意图。下面将针对图3所示的流程进行详细的阐述,所述方法具体可以包括以下步骤:
步骤S2091:按目标跳转次数从高到低的顺序,从所述多个应用程序中获取至少一个应用程序作为所述目标特定事件对应跳转的第三应用程序。
在一些实施方式中,在获取每个应用程序在目标特定事件下的目标跳转次数后,可以按目标跳转次数从高到低的顺序对多个应用程序进行排序,再根据排序从多个应用程序中获取至少一个应用程序作为目标特定事件对应跳转的第三应用程序。其中,当从多个应用程序中获取一个应用程序作为目标特定事件对应跳转的第三应用程序,则获取的应用程序为目标跳转次数最高的应用程序;当从多个应用程序中获取两个应用程序作为目标特定事件对应跳转的第三应用程序,则获取的应用程序为目标跳转次数前二的应用程序,以此类推,在此不再赘述。
步骤S2092:从所述多个应用程序中,获取目标跳转次数高于次数阈值的至少一个应用程序作为所述目标特定事件对应跳转的第三应用程序。
在一些实施方式中,电子设备预先设置并存储有次数阈值,该次数阈值用于作为多个应用程序在目标特定事件下的目标跳转次数的判断依据。因此,在本实施例中,在获取多个应用程序在目标特定事件下的目标跳转次数时,可以将目标跳转次数和次数阈值进行比较,以判断目标跳转次数是否高于次数阈值,其中,当判断结果表征目标跳转次数高于次数阈值时,可以将该目标跳转次数对应的应用程序确定为目标特定事件对应跳转的第三应用程序,通过此方式,对多个应用进行判断和筛选,从而获得目标特定事件对应跳转的第三应用程序。
步骤S210:基于所述第二应用程序和所述第三应用程序,获得目标应用程序。
步骤S211:对所述目标应用程序的运行进行预处理。
其中,步骤S210-步骤S211的具体描述请参阅步骤S104-步骤S105,在此不再赘述。
本申请又一个实施例提供的应用程序处理方法,获取训练数据集,基于训练数据集,通过机器学习算法进行训练获得应用程序预测模型。获取电子设备的当前使用信息,该当前使用信息至少包括当前运行的第一应用程序,将当前使用信息输入应用程序预测模型,获得应用程序预测模型输出的第二应用程序,获取电子设备在第二历史时间段内监听到多个特定事件中的每个特定事件时对应跳转的至少一个应用程序,基于多个特定事件和每个特定事件对应跳转的至少一个应用程序,建立多个特定事件和多个应用程序之间的跳转关系,基于多个特定事件和多个应用程序之间的跳转关系,生成多个特定事件和多个应用程序之间的跳转矩阵。当电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取每个应用程序在目标特定事件下的目标跳转次数,基于目标跳转次数,从多个应用程序中获取至少一个应用程序作为目标特定事件对应跳转的第三应用程序,基于第二应用程序和第三应用程序,获得目标应用程序,对目标应用程序的运行进行预处理。相较于图1所示的应用程序处理方法,本实施例还通过包括电子设备在第一历史时间段内运行应用程序时的多个历史使用信息,和基于多个历史使用信息中的每个历史使用信息在应用程序之后运行的应用程序训练得到应用程序预测模型,以提升应用程序预测模型的预测准确率,另外,本实施例还建立多个特定事件和多个应用程序的跳转矩阵,以基于跳转矩阵可以快速获取目标特定事件对应的第三应用程序,提升第三应用程序获取的准确率。
请参阅图4,图4示出了本申请再一个实施例提供的应用程序处理方法的流程示意图。该应用程序处理方法应用于上述电子设备,下面将针对图4所示的流程进行详细的阐述,所述应用程序处理方法具体可以包括以下步骤:
步骤S301:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行的第一应用程序。
步骤S302:将所述当前使用信息输入应用程序预测模型,获得所述应用程序预测模型输出的第二应用程序,所述第二应用程序为所述应用程序预测模型预测的在所述第一应用程序之后运行的应用程序。
步骤S303:当所述电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取所述目标特定事件对应跳转的第三应用程序。
其中,步骤S301-步骤S303的具体描述请参阅步骤S101-步骤S103,在此不再赘述。
步骤S304:当所述第二应用程序包括所述第三应用程序时,将所述第二应用程序确定为所述目标应用程序。
在一些实施方式中,在获取应用程序预测模型预测的第二应用程序和目标特定事件对应跳转的第三应用程序时,可以判断第二应用程序中是否包括第三应用程序,其中,当判断结果表征第二应用程序中包括第三应用程序时,可以将第二应用程序确定为目标应用程序;当判断结果表征第二应用程序中不包括第三应用程序时,可以将第二应用程序和第三应用程序共同确定为目标应用程序,或者将第二应用程序中的至少一个第二应用程序替换为第三应用程序,获得目标应用程序。
例如,当第二应用程序包括应用程序A、应用程序B、应用程序C、应用程序D以及应用程序E,第三应用程序包括应用程序D以及应用程序E时,表征第二应用程序包括第三应用程序,可以将第二应用程序确定为目标应用程序。
步骤S305:对所述目标应用程序的运行进行预处理。
其中,步骤S305的具体描述请参阅步骤S105,在此不再赘述。
本申请再一个实施例提供的应用程序处理方法,获取电子设备的当前使用信息,当前使用信息至少包括当前运行的第一应用程序,将当前使用信息输入应用程序预测模型,获得应用程序预测模型输出的第二应用程序,当电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取目标特定事件对应跳转的第三应用程序,当第二应用程序包括第三应用程序时,将第二应用程序确定为目标应用程序,对目标应用程序的运行进行预处理。相较于图1所示的应用程序处理方法,本实施例还在第二应用程序包括第三应用程序时,将第二应用程序确定为目标应用程序,以提升目标应用程序获取的准确性。
请参阅图5,图5示出了本申请另一个实施例提供的应用程序处理方法的流程示意图。该应用程序处理方法应用于上述电子设备,其中,第二应用程序的数量为多个,下面将针对图5所示的流程进行详细的阐述,所述应用程序处理方法具体可以包括以下步骤:
步骤S401:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行的第一应用程序。
步骤S402:将所述当前使用信息输入应用程序预测模型,获得所述应用程序预测模型输出的第二应用程序,所述第二应用程序为所述应用程序预测模型预测的在所述第一应用程序之后运行的应用程序。
步骤S403:当所述电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取所述目标特定事件对应跳转的第三应用程序。
其中,步骤S401-步骤S403的具体描述请参阅步骤S101-步骤S103,在此不再赘述。
步骤S404:将多个第二应用程序中的至少一个第二应用程序替换为所述第三应用程序,获得所述目标应用程序。
在一些实施方式中,在获取应用程序预测模型预测的第二应用程序和目标特定事件对应跳转的第三应用程序时,可以将多个第二应用程序中的至少一个第二应用程序替换为第三应用程序,获得的应用程序集合作为目标应用程序。例如,当第二应用程序包括应用程序A、应用程序B、应用程序C、应用程序D以及应用程序E,第三应用程序包括应用程序F以及应用程序G时,可以将第二应用程序中的应用程序A、应用程序B、应用程序C、应用程序D以及应用程序E中的两个应用程序替换为应用程序F和应用程序G,例如,如果将应用程序B替换为应用程序F,将应用程序D替换为应用程序G时,则获得的目标应用程序包括:应用程序A、应用程序F、应用程序C、应用程序G以及应用程序E。
请参阅图6,图6示出了本申请的图5所示的应用程序处理方法的步骤S404的流程示意图。下面将针对图6所示的流程进行详细的阐述,所述方法具体可以包括以下步骤:
步骤S4041:获取所述多个第二应用程序中的每个第二应用程序在所述第一应用程序之后运行的概率。
在本实施例中,电子设备可以分别获取多个第二应用程序中的每个第二应用程序在第一应用程序之后运行的概率。在一些实施方式中,应用程序预测模型在根据电子设备的当前使用信息输出在第一应用程序之后运行的多个第二应用程序时,还可以输出多个第二应用程序在第一应用程序之后运行的概率。在一些实施方式中,应用程序预测模型在根据电子设备的当前使用信息输出在第一应用程序之后运行的多个第二应用程序时,可以按多个第二应用程序在第一应用程序之后运行的概率从高到低的顺序输出多个第二应用程序。在一些实施方式中,应用程序预测模型在根据电子设备的当前使用信息输出在第一应用程序之后运行的多个第二应用程序时,电子设备可以分别获取多个第二应用程序中的每个第二应用程序的运行次数、运行频率、运行时长等,再基于每个第二应用程序的运行次数、运行频率、运行时长等获取每个第二应用程序在第一应用程序之后运行的概率。其中,运行次数与概率成正相关、运行频率与概率成正相关、运行时长与概率成正相关。
步骤S4042:按所述概率从低到高的顺序,将所述多个第二应用程序中的至少一个第二应用程序替换为所述第三应用程序。
在一些实施方式中,在获取多个第二应用程序的概率或者获取多个第二应用程序基于概率的排序时,可以按概率从低到高的顺序,将多个第二应用程序中的至少一个第二应用程序替换为第三应用程序。例如,当第二应用程序包括应用程序A、应用程序B、应用程序C、应用程序D以及应用程序E,第三应用程序包括应用程序F以及应用程序G,且第二应用程序按概率从低到高的顺序为:应用程序E、应用程序D、应用程序C、应用程序B以及应用程序A,则可以将第二应用程序中的应用程序E和应用程序D分别替换为应用程序F和应用程序G,从而获得目标应用程序为:应用程序A、应用程序B、应用程序C、应用程序F以及应用程序G,以提升目标应用程序的准确性。
步骤S405:对所述目标应用程序的运行进行预处理。
其中,步骤S405的具体描述请参阅步骤S105,在此不再赘述。
本申请另一个实施例提供的应用程序处理方法,获取电子设备的当前使用信息,当前使用信息至少包括当前运行的第一应用程序,将当前使用信息输入应用程序预测模型,获得应用程序预测模型输出的第二应用程序,当电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取目标特定事件对应跳转的第三应用程序,将多个第二应用程序中的至少一个第二应用程序替换为第三应用程序,获得目标应用程序,对目标应用程序的运行进行预处理。相较于图1所示的应用程序处理方法,本实施例还将多个第二应用程序中的至少一个第二应用程序替换为第三应用程序,以提升目标应用程序获取的准确性。
请参阅图7,图7示出了本申请实施例提供的应用程序处理装置200的模块框图。该应用程序处理装置200应用于上述电子设备,下面将针对图7所示的框图进行阐述,所述应用程序处理装置200包括:当前使用信息获取模块210、第二应用程序获取模块220、第三应用程序获取模块230、目标应用程序获取模块240以及预处理模块250,其中:
当前使用信息获取模块210,用于获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行的第一应用程序。
第二应用程序获取模块220,用于将所述当前使用信息输入应用程序预测模型,获得所述应用程序预测模型输出的第二应用程序,所述第二应用程序为所述应用程序预测模型预测的在所述第一应用程序之后运行的应用程序。
第三应用程序获取模块230,用于当所述电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取所述目标特定事件对应跳转的第三应用程序。
进一步地,所述跳转关系包括多个应用程序中的每个应用程序在多个特定事件中的每个特定事件下的跳转次数,所述第三应用程序获取模块230包括:目标跳转次数获取子模块和第三应用程序获取子模块,其中:
目标跳转次数获取子模块,用于当所述电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取每个应用程序在所述目标特定事件下的目标跳转次数;
第三应用程序获取子模块,用于基于所述目标跳转次数,从所述多个应用程序中获取至少一个应用程序作为所述目标特定事件对应跳转的第三应用程序。
进一步地,所述第三应用程序获取子模块包括:第一应用程序获取单元和第二应用程序获取单元,其中:
第一应用程序获取单元,用于按目标跳转次数从高到低的顺序,从所述多个应用程序中获取至少一个应用程序作为所述目标特定事件对应跳转的第三应用程序。
第二应用程序获取单元,用于从所述多个应用程序中,获取目标跳转次数高于次数阈值的至少一个应用程序作为所述目标特定事件对应跳转的第三应用程序。
目标应用程序获取模块240,用于基于所述第二应用程序和所述第三应用程序,获得目标应用程序。
进一步地,所述目标应用程序获取模块240包括:第一目标应用程序获取子模块,其中:
第一目标应用程序获取子模块,用于当所述第二应用程序包括所述第三应用程序时,将所述第二应用程序确定为所述目标应用程序。
进一步地,所述目标应用程序获取模块240包括:第二目标应用程序获取子模块,其中:
第二目标应用程序获取子模块,用于将多个第二应用程序中的至少一个第二应用程序替换为所述第三应用程序,获得所述目标应用程序。
进一步地,所述第二目标应用程序获取子模块包括:概率获取单元和应用程序替换单元,其中:
概率获取单元,用于获取所述多个第二应用程序中的每个第二应用程序在所述第一应用程序之后运行的概率。
应用程序替换单元,用于按所述概率从低到高的顺序,将所述多个第二应用程序中的至少一个第二应用程序替换为所述第三应用程序。
预处理模块250,用于对所述目标应用程序的运行进行预处理。
进一步地,所述预处理模块250包括:目标控件显示子模块、内存资源释放子模块以及目标应用程序预加载子模块,其中:
目标控件显示子模块,用于在所述电子设备的当前界面弹窗显示目标控件,所述目标控件用于跳转进入所述目标应用程序。
内存资源释放子模块,用于释放所述电子设备的内存资源。
目标应用程序预加载子模块,用于预加载所述目标应用程序。
进一步地,所述应用程序处理装置200还包括:训练数据集获取模块和应用程序预测模型训练模块,其中:
训练数据集获取模块,用于获取训练数据集,所述训练数据集包括所述电子设备在第一历史时间段内运行应用程序时的多个历史使用信息,以及基于所述多个历史使用信息中的每个历史使用信息在所述应用程序之后运行的应用程序。
应用程序预测模型训练模块,用于基于所述训练数据集,通过机器学习算法进行训练获得应用程序预测模型。
进一步地,所述应用程序处理装置200还包括:应用程序获取模块、跳转关系建立模块以及跳转矩阵生成模块,其中:
应用程序获取模块,用于获取所述电子设备在第二历史时间段内监听到多个特定事件中的每个特定事件时,对应跳转的至少一个应用程序。
跳转关系建立模块,用于基于所述多个特定事件和所述每个特定事件对应跳转的至少一个应用程序,建立所述多个特定事件和多个应用程序之间的跳转关系。
跳转矩阵生成模块,用于基于所述多个特定事件和所述多个应用程序之间的跳转关系,生成多个特定事件和所述多个应用程序之间的跳转矩阵。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图8,其示出了本申请实施例提供的一种电子设备100的结构框图。该电子设备100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
其中,处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参阅图9,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质300可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质300包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
综上所述,本申请实施例提供的应用程序处理方法、装置、电子设备以及存储介质,获取电子设备的当前使用信息,当前使用信息至少包括当前运行的第一应用程序,将当前使用信息输入应用程序预测模型,获得应用程序预测模型输出的第二应用程序,当电子设备监听到目标特定事件时,基于预先建立的特定事件和应用程序的跳转关系,获取目标特定事件对应跳转的第三应用程序,基于第二应用程序和第三应用程序获得目标应用程序,对目标应用程序的运行进行预处理,从而通过应用程序预测模型预测在当前运行的应用程序之后运行的应用程序,并在监听到特定事件时,获取特定事件对应跳转的应用程序对应用程序预测模型预测的预测结果进行修正,提升预测结果的准确性。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
- 应用程序处理方法和装置、电子设备、计算机可读存储介质
- 应用程序的处理方法、装置、存储介质及电子设备