记录应用信息的方法、装置、存储介质及电子设备转让专利

申请号 : CN201710939524.0

文献号 : CN107526675B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾元清

申请人 : 上海瑾盛通信科技有限公司

摘要 :

本实施例公开了一种记录应用信息的方法,包括:获取第一线性表,该第一线性表的每一元素用于记载一应用的操作信息,该第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列;记录第一线性表中各元素对应的应用在不同时间段的操作信息;根据各时间段所记录到的各应用的操作信息,更新第一线性表中的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息,每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔;当前台的应用变化时,在第一线性表中设置与前台应用对应的元素,触发执行该记录第一线性表中各元素对应的应用在不同时间段的操作信息步骤。

权利要求 :

1.一种记录应用信息的方法,其特征在于,包括:

获取第一线性表,所述第一线性表的每一元素用于记载一应用的操作信息,所述第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列;

记录第一线性表中各元素对应的应用在不同时间段新增的操作信息;

根据各时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息;

当所述每一第二线性表的元素达到预设个数时,删除所述每一第二线性表中最早的元素,并在所述每一第二线性表中新增一个元素,以使所述每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔;

当前台的应用变化时,在第一线性表中设置与前台应用对应的元素,并触发执行所述记录第一线性表中各元素对应的应用在不同时间段新增的操作信息步骤。

2.根据权利要求1所述的记录应用信息的方法,其特征在于,所述在第一线性表中设置与前台应用对应的元素,包括:检测第一线性表中是否包含与前台应用对应的元素;

若检测出第一线性表中包含与前台应用对应的元素,则将前台应用对应的元素调整为第一线性表的首个元素;

若检测出第一线性表中不包含与前台应用对应的元素,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。

3.根据权利要求2所述的记录应用信息的方法,其特征在于,所述若检测出第一线性表中不包含与前台应用对应的元素,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素,包括:若检测出第一线性表中不包含与前台应用对应的元素,则检测第一线性表的元素个数是否达到预设数值;

若检测到第一线性表的元素个数达到预设数值,则删除第一线性表中的最后一个元素,并创建对应于前台应用的元素,以及将对应于前台应用的元素添加到第一线性表中成为首个元素;

若检测到第一线性表的元素个数未达到预设数值,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。

4.根据权利要求1所述的记录应用信息的方法,其特征在于,所述方法还包括:当检测到终端关机时,对第一线性表对应的数据进行序列化操作,并将经过序列化的数据存储到预设存储地址。

5.根据权利要求4所述的记录应用信息的方法,其特征在于,所述方法还包括:当检测到终端开机时,对所述终端的预设存储地址中的数据进行反序列化操作,得到经过反序列化的数据;

将所述经过反序列化的数据存储到内存中,并确定为第一线性表。

6.一种记录应用信息的装置,其特征在于,包括:

获取模块,用于获取第一线性表,所述第一线性表的每一元素用于记载一应用的操作信息,所述第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列;

记录模块,用于记录第一线性表中各元素对应的应用在不同时间段新增的操作信息;

更新模块,用于根据各时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息,当所述每一第二线性表的元素达到预设个数时,删除所述每一第二线性表中最早的元素,并在所述每一第二线性表中新增一个元素,以使所述每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔;

设置模块,用于当前台的应用变化时,在第一线性表中设置与前台应用对应的元素,并触发执行所述记录第一线性表中各元素对应的应用在不同时间段新增的操作信息步骤。

7.根据权利要求6所述的记录应用信息的装置,其特征在于,所述设置模块用于:检测第一线性表中是否包含与前台应用对应的元素;

若检测出第一线性表中包含与前台应用对应的元素,则将前台应用对应的元素调整为第一线性表的首个元素;

若检测出第一线性表中不包含与前台应用对应的元素,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。

8.根据权利要求7所述的记录应用信息的装置,其特征在于,所述设置模块用于:若检测出第一线性表中不包含与前台应用对应的元素,则检测第一线性表的元素个数是否达到预设数值;

若检测到第一线性表的元素个数达到预设数值,则删除第一线性表中的最后一个元素,并创建对应于前台应用的元素,以及将对应于前台应用的元素添加到第一线性表中成为首个元素;

若检测到第一线性表的元素个数未达到预设数值,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。

9.根据权利要求6所述的记录应用信息的装置,其特征在于,所述装置还包括:存储模块,用于当检测到终端关机时,对第一线性表对应的数据进行序列化操作,并将经过序列化的数据存储到预设存储地址。

10.根据权利要求9所述的记录应用信息的装置,其特征在于,所述装置还包括:提取模块,用于当检测到终端开机时,对所述终端的预设存储地址中的数据进行反序列化操作,得到经过反序列化的数据;

将所述经过反序列化的数据存储到内存中,并确定为第一线性表。

11.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上执行时,使得所述计算机执行如权利要求1至5中任一项所述的方法。

12.一种电子设备,包括存储器,处理器,其特征在于,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如权利要求1至5中任一项所述的方法。

说明书 :

记录应用信息的方法、装置、存储介质及电子设备

技术领域

[0001] 本申请属于通信技术领域,尤其涉及一种记录应用信息的方法、装置、存储介质及电子设备。

背景技术

[0002] 一般地,智能终端上都安装有很多应用。其中,有些应用会经常被用户使用,而有些应用则可能很少被用户使用。终端可以对用户使用应用的情况进行记录,并据此学习出用户对应用的使用行为习惯。
[0003] 然而,相关技术中,终端在对应用的使用情况进行记录时,所采用的记录方式往往不能够准确地反映出用户最新的使用行为习惯。

发明内容

[0004] 本申请实施例提供一种记录应用信息的方法、装置、存储介质及电子设备,可以对应用的操作信息进行记录,并准确地反映出用户最新的应用使用行为习惯。
[0005] 本申请实施例提供一种记录应用信息的方法,包括:
[0006] 获取第一线性表,所述第一线性表的每一元素用于记载一应用的操作信息,所述第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列;
[0007] 记录第一线性表中各元素对应的应用在不同时间段新增的操作信息;
[0008] 根据各时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息,每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔;
[0009] 当前台的应用变化时,在第一线性表中设置与前台应用对应的元素,并触发执行所述记录第一线性表中各元素对应的应用在不同时间段新增的操作信息步骤。
[0010] 本申请实施例提供一种记录应用信息的装置,包括:
[0011] 获取模块,用于获取第一线性表,所述第一线性表的每一元素用于记载一应用的操作信息,所述第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列;
[0012] 记录模块,用于记录第一线性表中各元素对应的应用在不同时间段新增的操作信息;
[0013] 更新模块,用于根据各时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息,每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔;
[0014] 设置模块,用于当前台的应用变化时,在第一线性表中设置与前台应用对应的元素,并触发执行所述记录第一线性表中各元素对应的应用在不同时间段新增的操作信息步骤。
[0015] 本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本申请实施例提供的记录应用信息的方法。
[0016] 本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如本申请实施例提供的记录应用信息的方法。
[0017] 本申请实施例中,第一线性表可以记载最近一段时间位于终端前台的应用的操作信息,即最近一段时间用户使用过的应用的操作信息。并且,第一线性表中的每一元素均包含一第二线性表,而第二线性表中的元素则记载了对应的应用在最近的多个不同时间段内的具体操作信息。因此,本申请实施例可以对应用的操作信息进行记录,并准确地反映出用户最新的应用使用行为习惯。

附图说明

[0018] 下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
[0019] 图1是本申请实施例提供的记录应用信息的方法的流程示意图。
[0020] 图2是本申请实施例提供的第一线性表及第二线性表的第一种示意图。
[0021] 图3是本申请实施例提供的记录应用信息的方法的另一流程示意图。
[0022] 图4是本申请实施例提供的第一线性表及第二线性表的第二种示意图[0023] 图5是本申请实施例提供的第一线性表的变化过程示意图。
[0024] 图6A至图6F是本申请实施例提供的记录应用信息的方法的场景过程示意图。
[0025] 图7是本申请实施例提供的记录应用信息的装置的结构示意图。
[0026] 图8是本申请实施例提供的记录应用信息的装置的另一结构示意图。
[0027] 图9是本申请实施例提供的移动终端的结构示意图。
[0028] 图10是本申请实施例提供的移动终端的另一结构示意图。

具体实施方式

[0029] 请参照图式,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
[0030] 以下将详细说明。
[0031] 可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等的终端设备。
[0032] 请参阅图1,图1是本申请实施例提供的记录应用信息的方法的流程示意图,流程可以包括:
[0033] 在步骤S101中,获取第一线性表,该第一线性表的每一元素用于记载一应用的操作信息,该第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列。
[0034] 相关技术中,在对用户使用应用的情况进行记录时,一般是简单地统计用户对应用的使用次数和使用时长。然而,这种方式无法准确地反映出用户对应用的最新使用行为习惯。
[0035] 在本申请实施例的步骤S101中,终端可以先获取第一线性表,该第一线性表的每一个元素用于记载一应用的操作信息。也即,第一线性表中的元素和应用为一一对应的关系。
[0036] 同时,第一线性表中的元素按照其对应的应用最近一次位于前台的时间先后顺序进行排列。也即,第一线性表的首个元素记载的是最近时刻位于前台的应用的操作信息,而第一线性表的第二个元素记载的是(在首个元素对应的应用前)上一个位于前台的应用的操作信息,依次类推。
[0037] 例如,当前时刻位于终端前台的应用为应用A,在A之前上一个位于终端前台的应用为应用B,在B之前上一个位于终端前台的应用为应用C,即位于终端前台的应用先是由应用C切换到应用B,再由应用B切换到应用A。那么,在第一线性表中首个元素记载的是应用A的操作信息,依次排列的第二个元素记载的是应用B的操作信息,第三个元素记载的是应用C的操作信息。
[0038] 可以理解的是,如果在某一个时刻,终端的前台应用被切换到后台,使得终端前台没有应用在运行,那么第一线性表中的首个元素记载的就是最近时刻位于终端前台的应用的操作信息(截止目前最后一个在终端前台运行过的应用的操作信息)。如果当前时刻某个应用正在终端前台运行,那么第一线性表中的首个元素记载的就是该应用的操作信息。
[0039] 在步骤S102中,记录第一线性表中各元素对应的应用在不同时间段新增的操作信息。
[0040] 在步骤S103中,根据各时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息,每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔。
[0041] 比如,在获取到第一线性表之后,终端可以记录第一线性表中的各个元素对应的应用在不同时间段新增的操作信息。然后,终端可以根据在各个不同时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息。
[0042] 第一线性表的每一个元素均包含一个第二线性表,每一个第二线性表的各个元素分别用于记载对应的应用在不同时间段的操作信息。并且,每一个第二线性表中的元素两两之间对应的时间间隔小于或等于预设时间间隔。
[0043] 例如,如图2所示,应用A、应用B、应用C……应用Y等元素在纵向形成第一线性表,而第一线性表中的每一个元素均包括一第二线性表。例如,第一线性表的首个元素记载有应用A的操作信息,其包括由A1、A2……Ax等元素形成的第二线性表(横向)。该第二线性表的各个元素用于记载应用A在不同时间段的操作信息。并且,该第二线性表中的元素两两之间对应的时间间隔小于或等于预设时间间隔。例如,元素A1记载的是应用A在时间段T1的操作信息,而元素Ax记载的是应用A在时间段Tx的操作信息,那么T1和Tx的时间间隔小于或等于预设时间间隔。
[0044] 例如,在一种实施方式中,预设时间间隔可以是168个小时(一周的时长),那么每一第二线性表中包括的元素所记载的操作信息就是对应的应用在最近一周内的操作信息。
[0045] 以预设时间间隔为168个小时为例,可以理解的是,第二线性表的元素所记载的信息始终是对应的应用在最近的一周时间内的操作信息。也就是说,第二线性表中的元素是动态变化的。例如,以每个时间段的时长为6小时,并且终端不曾关机为例,那么第二线性表最多可以包括28个元素。当第二线性表的元素未达到28个时,每6个小时记录到一个时间段的操作信息,那么就在第二线性表中新增一个元素,该新增的元素记载有刚过去的6小时内该应用的操作信息。而当第二线性表的元素已经达到28个时,若记录到一个新的6小时内应用的操作信息,那么在将新增时间段内的操作信息添加到第二线性表前,可以将第二线性表中时间段最早的元素删除,然后再在第二线性表中新增一个元素,从而使得第二线性表中的元素两两之间的时间间隔小于或等于预设时间间隔,即第二线性表中记载的始终会是应用在最近的一周时间内的操作信息。
[0046] 在步骤S104中,当前台的应用变化时,在第一线性表中设置与前台应用对应的元素,并触发执行记录第一线性表中各元素对应的应用在不同时间段新增的操作信息步骤。
[0047] 比如,在记录第一线性表中各元素对应的应用在不同时间段新增的操作信息,以及对第一线性表中各元素包含的信息进行更新的过程中,如果检测到终端前台的应用发生了变化,那么终端可以在第一线性表中设置与当前的前台应用对应的元素。
[0048] 例如,在T1时刻终端前台的应用由应用B切换到应用A,那么终端可以在第一线性表中设置与应用A对应的元素。例如,第一线性表中的首个元素本来对应于应用B的,当前台应用由应用B切换到应用A之后,第一线性表可以在应用B对应的元素之前插入一个元素,用于记载应用A的操作信息,即第一线性表中新增一元素用于记载应用A的操作信息,并且该元素成为第一线性表的首个元素,而原来对应于应用B的元素则变为第二个元素。之后,终端可以触发执行S102中记录第一线性表中各元素对应的应用在不同时间段新增的操作信息的步骤。
[0049] 在一种实施方式中,本申请实施例可以不对步骤S102、S103和S104的执行顺序做限定。比如,步骤S104可以是位于步骤S102之前,或者位于步骤S102和S103之间,或者位于步骤S103之后,等等。
[0050] 可以理解的是,本申请实施例中,第一线性表可以记载最近一段时间位于终端前台的应用的操作信息,即最近一段时间用户使用过的应用的操作信息。并且,第一线性表中的每一元素均包含一第二线性表,而第二线性表中的元素则记载了对应的应用在最近的多个不同时间段内的具体操作信息。因此,本申请实施例可以对应用的操作信息进行记录,并准确地反映出用户最新的应用使用行为习惯。
[0051] 请参阅图3,图3为本申请实施例提供的记录应用信息的方法的另一流程示意图,流程可以包括:
[0052] 在步骤S201中,终端获取第一线性表,该第一线性表的每一元素用于记载一应用的操作信息,该第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列,该第一线性表的首个元素用于记载最近时刻位于前台的应用的操作信息。
[0053] 比如,终端可以先获取第一线性表,该第一线性表的每一个元素用于记载一应用的操作信息。也即,第一线性表中的元素和应用为一一对应的关系。
[0054] 同时,第一线性表中的元素按照其对应的应用最近一次位于前台的时间先后顺序进行排列,第一线性表的首个元素用于记载最近时刻位于前台的应用的操作信息。也即,第一线性表的首个元素记载的是最近时刻位于前台的应用的操作信息,而第一线性表的第二个元素记载的是(在首个元素对应的应用前)上一个位于前台的应用的操作信息。
[0055] 例如,当前时刻位于终端前台的应用为应用A,在A之前上一个位于终端前台的应用为应用B,在B之前上一个位于终端前台的应用为应用C,即位于终端前台的应用先是由应用C切换到应用B,再由应用B切换到应用A。那么,在第一线性表中首个元素记载的是应用A的操作信息,依次排列的第二个元素记载的是应用B的操作信息,第三个元素记载的是应用C的操作信息。
[0056] 可以理解的是,如果在某一个时刻,终端的前台应用被切换到后台,使得终端前台没有应用在运行,那么第一线性表中的首个元素记载的就是最近时刻位于终端前台的应用的操作信息(截止目前最后一个在终端前台运行过的应用的操作信息)。如果当前时刻某个应用正在终端前台运行,那么第一线性表中的首个元素记载的就是该应用的操作信息。即,在第一线性表中,从首个元素到最后一个元素,对应着用户实际使用过的应用的历史记录。
[0057] 在一些所述方式中,本申请实施例中的线性表可以是数组、链表,以及链表中的栈、队列等。
[0058] 在一种实施方式中,S201中终端获取第一线性表的步骤,可以包括:
[0059] 当检测到开机时,终端获取第一线性表。
[0060] 例如,在被用户使用的过程中,终端会被关机和开机。在处于关机状态期间,应用不会被操作,也就不会具有操作信息。而在开机后,终端中的应用就很有可能立即被用户使用。因此,终端可以在检测到开机时,就获取第一线性表。
[0061] 可以理解的是,通过在检测到开机时,终端就立即获取第一线性表的方式,可以实时地对应用的操作信息进行记录,有效避免遗漏记录应用的操作信息。
[0062] 在步骤S202中,终端记录第一线性表中各元素对应的应用在不同时间段新增的操作信息。
[0063] 在步骤S203中,根据各时间段所记录到的各应用新增的操作信息,终端更新第一线性表中对应的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息,每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔。
[0064] 比如,在获取到第一线性表之后,终端可以记录第一线性表中的各个元素对应的应用在不同时间段新增的操作信息。然后,终端可以根据在各个不同时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息。
[0065] 第一线性表的每一个元素均包含一个第二线性表,每一个第二线性表的各个元素分别用于记载对应的应用在不同时间段的操作信息。并且,每一个第二线性表中的元素两两之间对应的时间间隔小于或等于预设时间间隔。
[0066] 例如,如图2所示,应用A、应用B、应用C……应用Y等元素在纵向形成第一线性表,而第一线性表中的每一个元素均包括一第二线性表。例如,第一线性表的首个元素记载有应用A的操作信息,其包括由A1、A2……Ax等元素形成的第二线性表(横向)。该第二线性表的各个元素用于记载应用A在不同时间段的操作信息。并且,该第二线性表中的元素两两之间对应的时间间隔小于或等于预设时间间隔。例如,元素A1记载的是应用A在时间段T1的操作信息,而元素Ax记载的是应用A在时间段Tx的操作信息,那么T1和Tx的时间间隔小于或等于预设时间间隔。
[0067] 例如,在一种实施方式中,预设时间间隔可以是168个小时(一周的时长),那么每一第二线性表中包括的元素所记载的操作信息就是对应的应用在最近一周内的操作信息。
[0068] 以预设时间间隔为168个小时为例,可以理解的是,第二线性表的元素所记载的信息始终是对应的应用在最近的一周时间内的操作信息。也就是说,第二线性表中的元素可以是动态变化的。例如,以每个时间段的时长为6小时,并且终端不曾关机为例,那么第二线性表最多可以包括28个元素。当第二线性表的元素未达到28个时,每6个小时记录到一个时间段的操作信息,那么就在第二线性表中新增一个元素,该新增的元素记载有刚过去的6小时内该应用的操作信息。而当第二线性表的元素已经达到28个时,若记录到一个新的6小时内应用的操作信息,那么在将新增时间段内的操作信息添加到第二线性表前,可以将第二线性表中时间段最早的元素删除,然后再在第二线性表中新增一个元素,从而使得第二线性表中的元素两年间的时间间隔小于或等于预设时间间隔,即第二线性表中记载的始终会是最近的一周时间内的操作信息。
[0069] 以每一第二线性表中的元素用于记载对应的应用在时长为6小时的时间段内的操作信息,并且每一第二线性表均最多只允许包含28个元素为例。如图4所示,以第一线性表中的首个元素记载应用A的操作信息为例。例如,在当天早上的06:00终端开机,那么终端可以对应用A在06:00~12:00这段时间的操作信息进行记录(以06:00~12:00这段时间终端不曾关机,并且应用A的第二线性表的元素为26个,而尚未达到28个为例),那么在当天12:00之后,终端可以对第一线性表中的应用A对应的元素包含的操作信息更新。例如,终端可以在应用A对应的第二线性表中新增一个元素用于记载应用A在06:00~12:00这段时间内的操作信息。例如,图4中的A2元素用于记载应用A在06:00~12:00这段时间内的操作信息。
[0070] 之后,若终端在当天的18:00之前也一直处于开机状态,那么图4中的A1元素可以用于记载应用A在12:00~18:00这段时间内的操作信息。
[0071] 若终端在当天的18:00之前关机过,例如终端在17:00关机了,那么终端可以根据其再次开机的时间来确定A1元素对应的时间段。
[0072] 例如,若终端直到超过18:00之后才再次开机,那么A1元素可以仅记载应用A在12:00~17:00这段时间内的操作信息。即,在某个时间段内,若因关机导致终端无法记录到从该时间段的起点算起的6小时内的应用操作信息,那么第二线性表的元素可以仅记载该时间段内终端处于开机状态期间的应用操作信息。
[0073] 若终端再次开机的时间未超过18:00,例如终端在17:00关机之后,在17:30又开机了,那么终端可以记录17:30~18:00这段时间内应用A的操作信息。然后,终端可以将12:00~17:00以及17:30~18:00这两个时间段内的操作信息合并,并由元素A1来记载12:00~17:00以及17:30~18:00这两个时间段合并后的操作信息。
[0074] 可以理解的是,通过上述将同属于同一个大的时间段的两个小的时间区间的操作信息合并记录的方式,可以有效避免因终端频繁开关机导致的应用对应的第二线性表的元素频繁变化的问题。例如,第二线性表均最多只允许包含28个元素,那么若终端每5分钟关机一次,然后再开机,那么第二线性表最多只能记录到对应的应用在最近的140分钟内的操作信息。由于140分钟过短,将导致第二线性表中记录的操作信息无法全面地反映出用户最近的应用使用行为习惯。
[0075] 在一种实施方式中,终端可以在每次开机时,开始设置时长为6小时的定时器。当第一个6小时的定时器被触发时,终端就可以将这6小时内记录到的应用操作信息,记载到对应的应用的第二线性表的元素中。当一个6小时的定时器触发时,终端可以立即设置下一个时长为6小时的定时器,从而继续记载应用在第二个6小时内的操作信息。
[0076] 在一种实施方式中,若终端在某一个时长为6小时的时间段内关机了,那么终端可以根据其再次开机的时间来确定第二线性表中元素对应的时间段的终点时间。
[0077] 例如,图4中的A1元素本来是用于记载应用A在12:00~18:00这段时间内的操作信息。
[0078] 若终端在当天的18:00之前关机过,例如终端在17:00关机了,那么终端可以根据其再次开机的时间来确定A1元素对应的时间段的终点时间。
[0079] 例如,若终端直到超过18:00之后才再次开机(如18:30才开机),那么A1元素可以仅记载应用A在12:00~17:00这段时间内的操作信息。即,在某个时间段内,若因关机导致终端无法记录到从该时间段的起点算起的6小时内的应用操作信息,那么第二线性表的元素可以仅记载该时间段内终端处于开机状态期间的应用操作信息。
[0080] 若终端再次开机的时间未超过18:00,例如终端在17:00关机之后,在17:30又开机了,那么终端可以记录17:30~18:00这段时间内应用A的操作信息。然后,终端可以将12:00~17:00以及17:30~18:00这两个时间段内的操作信息合并,并由元素A1来记载12:00~17:00以及17:30~18:00这两个时间段合并后的操作信息。
[0081] 在步骤S204中,当前台的应用变化时,终端检测第一线性表中是否包含与前台应用对应的元素。
[0082] 比如,在记录第一线性表中各元素对应的应用的操作信息,以及对第一线性表中各元素包含的信息进行更新的过程中,如果检测到终端前台的应用发生了变化,那么终端可以检测第一线性表中是否包含有与当前的前台应用对应的元素。
[0083] 例如,在终端前台的应用由应用B切换到应用A,那么终端可以检测第一线性表中是否包含有与应用A对应的元素。
[0084] 在步骤S205中,若检测出第一线性表中包含与前台应用对应的元素,则终端将前台应用对应的元素调整为第一线性表的首个元素。
[0085] 比如,终端检测出第一线性表中包含有与应用A对应的元素,那么终端可以将与应用A对应的元素调整为第一线性表的首个元素。例如,原来终端的前台应用是应用B,第一线性表的首个元素是对应于应用B的元素,而第一线性表的第二个元素是对应于应用A的元素。之后,终端的前台应用由应用B切换到应用A,那么在终端检测出第一线性表中包含有与应用A对应的元素的情况下,终端可以将原来位于第二位置的应用A对应的元素调整为第一线性表的首个元素,而原来位于第一位置的应用B对应的元素则变为第一线性表的第二个元素。上述过程可以如图5所示。
[0086] 在步骤S206中,若检测出第一线性表中不包含与前台应用对应的元素,则终端检测第一线性表的元素个数是否达到预设数值。
[0087] 在步骤S207中,若检测到第一线性表的元素个数达到预设数值,则终端删除第一线性表中的最后一个元素,并创建对应于前台应用的元素,以及将对应于前台应用的元素添加到第一线性表中成为首个元素。
[0088] 在步骤S208中,若检测到第一线性表的元素个数未达到预设数值,则终端创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。
[0089] 比如,步骤S206、S207以及S208可以包括:
[0090] 当前台的应用发生变化时,终端检测到第一线性表中不包含与变化后的当前前台应用对应的元素。那么,终端可以检测第一线性表的元素个数是否达到预设数值。
[0091] 在一种实施方式中,终端可以对第一线性表设置一个关于元素个数的最大值。例如,终端设置允许第一线性表最多具有50个元素,那么第一线性表中的元素即表示最近被用户使用的50个应用。
[0092] 如果检测出第一线性表中已经包含的元素的个数达到预设数值,那么终端可以先删除第一线性表中的最后一个元素,并创建对应于前台应用的元素,以及将对应于当前前台应用的元素添加到第一线性表中成为首个元素。
[0093] 如果检测出第一线性表中已经包含的元素的个数尚未达到预设数值,那么终端可以直接创建对应于当前前台应用的元素,并将对应于当前前台应用的元素添加到第一线性表中成为首个元素。
[0094] 例如,终端前台的应用被切换到应用Z,并且终端检测出第一线性表中不包含有与应用Z对应的元素,那么终端可以检测第一线性表中包含的元素的个数是否达到预设数值。例如,预设数值为30。
[0095] 如果检测出第一线性表中包含的元素的个数已经达到30个,那么终端可以先将第一线性表中的最后一个元素删除。例如,第一线性表中的最后一个元素对应的应用为应用Y。在将应用Y对应的元素删除之后,终端可以创建对应于应用Z的元素,并将对应于应用Z的元素插入到第一线性表的首个元素位置。
[0096] 如果检测出第一线性表中包含的元素的个数尚未达到30个,那么终端可以可以直接创建对应于应用Z的元素,并将对应于应用Z的元素插入到第一线性表的首个元素位置。
[0097] 在步骤S209中,终端触发执行记录第一线性表中各元素对应的应用在不同时间段新增的操作信息的步骤。
[0098] 比如,在将变化后的前台应用对应的元素调整为第一线性表的首个元素,或者在第一线性表中创建变化后的前台应用对应的元素并将其插入到第一线性表的首个元素位置后,终端可以触发自身执行步骤S202中记录第一线性表中各元素对应的应用在不同时间段新增的操作信息的步骤。也即,终端会继续对第一线性表中各元素对应的应用在不同时间段的操作信息进行记录,并根据各时间段所记录到的各应用的操作信息,终端更新第一线性表中对应的元素包含的信息。当再次检测到终端前台的应用发生变化时,终端可以重复执行S204至S209中的步骤。
[0099] 在一种实施方式中,本申请实施例还可以包括如下步骤:
[0100] 当检测到终端关机时,对第一线性表对应的数据进行序列化操作,并将经过序列化的数据存储到预设存储地址。
[0101] 比如,当检测到关机时,终端可以将第一线性表对应的数据进行序列化操作,并将经过序列化操作的数据存储到预设存储地址中。例如,终端可以将经过序列化的数据存储到终端的磁盘或者存储器中。
[0102] 序列化是指将数据结构或对象转换为可以存储或传输的形式(如二进制串)的过程。本申请实施例中第一线性表为一数据结构,因此在检测到关机时,可以对第一线性表进行序列化操作,并将经过序列化的数据存储到终端存储器中。
[0103] 在一种实施方式中,本申请实施例还可以包括如下步骤:
[0104] 当检测到终端开机时,对所述终端的预设存储地址中的数据进行反序列化操作,得到经过反序列化的数据;
[0105] 将所述经过反序列化的数据存储到内存中,并确定为第一线性表。
[0106] 比如,当检测到开机时,终端可以对上一次关机时存储在预设存储地址中的数据进行反序列化操作,并得到经过反序列化的数据。然后,终端可以将进过反序列化的数据存储到内存中,并确定为第一线性表。
[0107] 反序列化是指将在序列化过程中生成的二进制串转换为数据结构或对象的过程。
[0108] 请参阅图6A至图6F,图6A至图6F为本申请实施例提供的记录应用信息的方法的场景过程示意图。
[0109] 比如,在每次检测到开机时,终端可以获取第一队列,该第一队列的每一个元素用于记载一应用的操作信息。也即,第一线性表中的元素和应用为一一对应的关系。
[0110] 第一队列中的元素可以按照其对应的应用最近一次位于前台的时间先后顺序进行排列,第一队列的首个元素用于记载最近时刻位于前台的应用的操作信息。也即,第一队列的首个元素记载的是最近时刻位于前台的应用的操作信息,而第一线性表的第二个元素记载的是(在首个元素对应的应用前)上一个位于前台的应用的操作信息,依次类推。并且,第一队列最多允许包含预设第一数量的元素。例如,预设第一数量为50个,即第一队列最多允许包含50个元素。
[0111] 第一队列的每一元素包含一第二队列。每一第二队列的各元素分别用于记载应用在不同时间段的操作信息,每一第二队列的元素两两之间对应的时间间隔小于或等于预设时间间隔。例如,每一第二队列的元素两两之间对应的时间间隔小于或等于168小时(一周的时长)。
[0112] 另外,每次开机时,终端可以开启一个预设时长的定时器,并记录时间起点为开机时间,时间终点为开机时间后预设时长的时间点这段时间内应用的操作信息。
[0113] 例如,终端在当天早上的06:00开机,此时终端可以获取第一队列,并启动一个6小时的定时器。然后,终端可以对06:00~12:00这段时间内,第一队列中各元素对应的应用的操作信息进行记录。
[0114] 当检测到终端前台的应用发生变化时(例如终端的前台从没有正在运行的应用变化到具有正在运行的应用,或者终端的前台应用从一个应用切换到另一应用),终端可以先检测第一队列中是否已经包含与当前前台应用对应的元素。
[0115] 例如,刚开机时,终端获取到的第一队列的前三个元素对应的应用依次为应用B、应用C和应用D。
[0116] 开机完成后的06:05,用户首先使用了应用C,如图6A所示。终端前台的应用从无到有,即终端检测到前台应用发生变化。那么,终端可以首先检测第一队列中是否包含与应用C对应的元素。由于第一队列中的第二个元素对应于应用C,因此终端可以将应用C对应的元素调整为队首元素,相应地,应用B对应的元素变为了第二位元素。第一队列中元素的排列变化可以如图6B所示。
[0117] 如果开机完成后,用户首先使用的应用是应用B,那么由于应用B已经是第一队列的首个元素了,因此这种情况下第一队列的队首元素保持不变。
[0118] 之后在06:30,用户使用了应用A,如图6C所示。即,前台的应用由应用C切换到应用A。此时,终端仍然可以检测第一队列中是否已经包含与应用A对应的元素。例如,此时终端检测到第一队列中不包含与应用A对应的元素。那么,终端可以再检测第一队列的元素个数是否已达到预设第一数量50个。例如,此时终端检测到第一队列的元素个数尚未达到50个。在这种情况下,终端可以直接创建对应于应用A的元素,并将新创建的对应于应用A的元素插入到第一队列中成为队首元素。此时,第一队列中元素的排列变化可以如图6D所示。
[0119] 如果在前台应用由应用C切换到应用A时,终端检测到第一队列的元素个数已经达到50个,那么终端可以先删除第一队列的最后一个元素,然后再创建对应于应用A的元素,并将新创建的对应于应用A的元素插入到第一队列中成为队首元素。
[0120] 当开机时设置的时长为6小时的定时器触发时,终端可以将06:00~12:00这段时间内记录到的应用的操作信息更新到第一队列中。例如,应用A的第二队列的元素A2用于记载应用A在06:00~12:00这段时间内的操作信息,由于应用A是在06:30开始被使用的,因此对于A2元素而言,其记录的时间起点和终点分别为06:30和12:00。如图6E所示。
[0121] 在12:00达到时,终点可以设置第二个时长为6小时的定时器,并开始记录第一队列中的元素对应的应用在12:00~18:00这段时间的操作信息。
[0122] 例如,在12:00~17:00这段时间,应用A被用户操作过数次,而应用C则未被用户操作过,并且被从终端后台清理。终端在17:00进行了一次关机,然后在17:30又重新开机,开机后应用A处于终端后台。那么,对于应用A而言,其第二队列的元素A1可以用于记载应用A在12:00~17:00以及17:30~18:00这两段时间内的操作信息,也即终端可以将应用A在12:00~17:00以及17:30~18:00这两段时间内的操作信息合并,并写入元素A1中。另外,由于
12:00~18:00这段时间内,应用C未被用户操作过,并且也不处于终端后台。因此,应用C在这段时间内没有任何操作信息。在这种情况下,终端可以不为应用C新建用于记载操作信息的元素。上述过程可以如图6F所示。
[0123] 另外,由于每次开机终端都会启动一个时长为6小时的定时器,因此在对应用A在12:00~17:00以及17:30~18:00这两段时间内的操作信息进行合并的情况下,应用A在18:
00~23:30这个时间区间(属于17:30~23:30这个时间段)的操作信息可以写入A1的下一个元素A0中。如图6F所示。
[0124] 如果终端在17:00关机后,直到18:00之后才再次开机,那么元素A1可以只记录12:00~17:00这段时间的应用A的操作信息。
[0125] 在一种实施方式中,由于每一第二队列的元素两两之间时间间隔小于或等于预设时间间隔(如168小时),那么当第二队列中新增了一个元素时,终端可以遍历整个队列中的元素,将其中与新增元素的时间间隔超过168个小时的元素删掉。
[0126] 在一种实施方式中,每一第二队列中可以是新增的元素放置在队列的首个元素。即,第二队列中元素按照生成时间的先后顺序进行排列。
[0127] 在一种实施方式中,每一第二队列的元素可以至少记载对应的应用在一个时间段内的如下操作信息:该时间段的起始和结束时间点;应用在该时间段内累计打开的次数;应用在该时间段内累计在前台的时长;该时间段内应用在后台停留的最大时长;该时间段内应用在后台停留的最小时长;该时间段内应用在后台停留的平均时长,等等,此处举例不构成对本申请的限定。
[0128] 在一种实施方式中,第一队列中的每一元素除了包含一第二队列之外,第一队列的每一元素还可以记载对应的应用的如下操作信息:应用的包名;应用最后一次被切换到前台的时间;应用最后一次被切换到后台的时间;应用一周内累计打开的次数;应用一周内累计在前台停留的时长,等等,此处举例不构成对本申请的限定。
[0129] 请参阅图7,图7为本申请实施例提供的记录应用信息的装置的结构示意图。记录应用信息的装置300可以包括:获取模块301,记录模块302,更新模块303,以及设置模块304。
[0130] 获取模块301,用于获取第一线性表,所述第一线性表的每一元素用于记载一应用的操作信息,所述第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列。
[0131] 比如,终端的获取模块301可以先获取第一线性表,该第一线性表的每一个元素用于记载一应用的操作信息。也即,第一线性表中的元素和应用为一一对应的关系。
[0132] 同时,第一线性表中的元素按照其对应的应用最近一次位于前台的时间先后顺序进行排列。也即,第一线性表的首个元素记载的是最近时刻位于前台的应用的操作信息,而第一线性表的第二个元素记载的是(在首个元素对应的应用前)上一个位于前台的应用的操作信息,依次类推。
[0133] 例如,当前时刻位于终端前台的应用为应用A,在A之前上一个位于终端前台的应用为应用B,在B之前上一个位于终端前台的应用为应用C,即位于终端前台的应用先是由应用C切换到应用B,再由应用B切换到应用A。那么,在第一线性表中首个元素记载的是应用A的操作信息,依次排列的第二个元素记载的是应用B的操作信息,第三个元素记载的是应用C的操作信息。
[0134] 可以理解的是,如果在某一个时刻,终端的前台应用被切换到后台,使得终端前台没有应用在运行,那么第一线性表中的首个元素记载的就是最近时刻位于终端前台的应用的操作信息(截止目前最后一个在终端前台运行过的应用的操作信息)。如果当前时刻某个应用正在终端前台运行,那么第一线性表中的首个元素记载的就是该应用的操作信息。
[0135] 记录模块302,用于记录第一线性表中各元素对应的应用在不同时间段新增的操作信息。
[0136] 更新模块303,用于根据各时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息,每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔。
[0137] 比如,在获取到第一线性表之后,记录模块302可以记录第一线性表中的各个元素对应的应用在不同时间段新增的操作信息。然后,更新模块303可以根据在各个不同时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息。
[0138] 第一线性表的每一个元素均包含一个第二线性表,每一个第二线性表的各个元素分别用于记载对应的应用在不同时间段的操作信息。并且,每一个第二线性表中的元素两两之间对应的时间间隔小于或等于预设时间间隔。
[0139] 例如,如图2所示,应用A、应用B、应用C……应用Y等元素在纵向形成第一线性表,而第一线性表中的每一个元素均包括一第二线性表。例如,第一线性表的首个元素记载有应用A的操作信息,其包括由A1、A2……Ax等元素形成的第二线性表(横向)。该第二线性表的各个元素用于记载应用A在不同时间段的操作信息。并且,该第二线性表中的元素两两之间对应的时间间隔小于或等于预设时间间隔。例如,元素A1记载的是应用A在时间段T1的操作信息,而元素Ax记载的是应用A在时间段Tx的操作信息,那么T1和Tx的时间间隔小于或等于预设时间间隔。
[0140] 例如,在一种实施方式中,预设时间间隔可以是168个小时(一周的时长),那么每一第二线性表中包括的元素所记载的操作信息就是对应的应用在最近一周内的操作信息。
[0141] 以预设时间间隔为168个小时为例,可以理解的是,第二线性表的元素所记载的信息始终是对应的应用在最近的一周时间内的操作信息。也就是说,第二线性表中的元素是动态变化的。例如,以每个时间段的时长为6小时,并且终端不曾关机为例,那么第二线性表最多可以包括28个元素。当第二线性表的元素未达到28个时,每6个小时记录到一个时间段的操作信息,那么就在第二线性表中新增一个元素,该新增的元素记载有刚过去的6小时内该应用的操作信息。而当第二线性表的元素已经达到28个时,若记录到一个新的6小时内应用的操作信息,那么在将新增时间段内的操作信息添加到第二线性表前,可以将第二线性表中时间段最早的元素删除,然后再在第二线性表中新增一个元素,从而使得第二线性表中的元素两两之间的时间间隔小于或等于预设时间间隔,即第二线性表中记载的始终会是应用在最近的一周时间内的操作信息。
[0142] 设置模块304,用于当前台的应用变化时,在第一线性表中设置与前台应用对应的元素,并触发执行所述记录第一线性表中各元素对应的应用在不同时间段新增的操作信息步骤。
[0143] 比如,在记录模块302记录第一线性表中各元素对应的应用新增的操作信息,以及更新模块303对第一线性表中各元素包含的信息进行更新的过程中,如果检测到终端前台的应用发生了变化,那么设置模块304可以在第一线性表中设置与当前的前台应用对应的元素。
[0144] 例如,在T1时刻终端前台的应用由应用B切换到应用A,那么设置模块304可以在第一线性表中设置与应用A对应的元素。例如,第一线性表中的首个元素本来是对应于应用B的,当前台应用由应用B切换到应用A之后,第一线性表可以在应用B对应的元素之前插入一个元素,用于记载应用A的操作信息,即第一线性表中新增一元素用于记载应用A的操作信息,并且该元素成为第一线性表的首个元素,而原来对应于应用B的元素则变为第二个元素。之后,终端可以触发记录模块302执行记录第一线性表中各元素对应的应用在不同时间段新增的操作信息的步骤。
[0145] 在一种实施方式中,设置模块304可以用于:
[0146] 检测第一线性表中是否包含与前台应用对应的元素。
[0147] 若检测出第一线性表中包含与前台应用对应的元素,则将前台应用对应的元素调整为第一线性表的首个元素。
[0148] 若检测出第一线性表中不包含与前台应用对应的元素,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。
[0149] 比如,在记录模块302记录第一线性表中各元素对应的应用的操作信息,以及更新模块304对第一线性表中各元素包含的信息进行更新的过程中,如果检测到终端前台的应用发生了变化,那么设置模块304可以先检测第一线性表中是否包含有与当前的前台应用对应的元素。
[0150] 如果终端检测出第一线性表中包含有与应用A对应的元素,那么设置模块304可以将与应用A对应的元素调整为第一线性表的首个元素。例如,原来终端的前台应用是应用B,第一线性表的首个元素是对应于应用B的元素,而第一线性表的第二个元素是对应于应用A的元素。之后,终端的前台应用由应用B切换到应用A,那么在检测出第一线性表中包含有与应用A对应的元素的情况下,设置模块304可以将原来位于第二位置的应用A对应的元素调整为第一线性表的首个元素,而原来位于第一位置的应用B对应的元素则变为第一线性表的第二个元素。
[0151] 如果终端检测出第一线性表中不含有与应用A对应的元素,那么设置模块304可以创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。
[0152] 在一种实施方式中,设置模块304可以用于:
[0153] 若检测出第一线性表中不包含与前台应用对应的元素,则检测第一线性表的元素个数是否达到预设数值。
[0154] 若检测到第一线性表的元素个数达到预设数值,则删除第一线性表中的最后一个元素,并创建对应于前台应用的元素,以及将对应于前台应用的元素添加到第一线性表中成为首个元素。
[0155] 若检测到第一线性表的元素个数未达到预设数值,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。
[0156] 比如,在终端检测出第一线性表中不含有与应用A对应的元素的情况下,设置模块304在执行创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素的步骤时,可以先检测第一线性表的元素个数是否达到预设数值。
[0157] 如果检测出第一线性表中已经包含的元素的个数达到预设数值,那么设置模块304可以先删除第一线性表中的最后一个元素,并创建对应于前台应用的元素,以及将对应于当前前台应用的元素添加到第一线性表中成为首个元素。
[0158] 如果检测出第一线性表中已经包含的元素的个数尚未达到预设数值,那么设置模块304可以直接创建对应于当前前台应用的元素,并将对应于当前前台应用的元素添加到第一线性表中成为首个元素。
[0159] 请一并参阅图8,图8为本申请实施例提供的记录应用信息的装置的另一结构示意图。在一实施例中,记录应用信息的装置300还可以包括:存储模块305和提取模块306。
[0160] 存储模块305,用于当检测到终端关机时,对第一线性表对应的数据进行序列化操作,并将经过序列化的数据存储到预设存储地址。
[0161] 比如,当检测到关机时,存储模块305可以将第一线性表对应的数据进行序列化操作,并将经过序列化操作的数据存储到预设存储地址中。例如,存储模块305可以将经过序列化的数据存储到终端的磁盘或者存储器中。
[0162] 序列化是指将数据结构或对象转换为可以存储或传输的形式(如二进制串)的过程。本申请实施例中第一线性表为一数据结构,因此在检测到关机时,可以对第一线性表进行序列化操作,并将经过序列化的数据存储到终端存储器中。
[0163] 提取模块306,用于当检测到终端开机时,对所述终端的预设存储地址中的数据进行反序列化操作,得到经过反序列化的数据;将所述经过反序列化的数据存储到内存中,并确定为第一线性表。
[0164] 比如,当检测到开机时,提取模块306可以对上一次关机时存储在预设存储地址中的数据进行反序列化操作,并得到经过反序列化的数据。然后,提取模块306可以将进过反序列化的数据存储到内存中,并确定为第一线性表。
[0165] 反序列化是指将在序列化过程中生成的二进制串转换为数据结构或对象的过程。
[0166] 本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本申请实施例提供的记录应用信息的方法。
[0167] 本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如本申请实施例提供的记录应用信息的方法。
[0168] 例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图9,图9为本申请实施例提供的移动终端的结构示意图。
[0169] 该移动终端500可以包括通信单元501、存储器502、处理器503等部件。本领域技术人员可以理解,图9中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0170] 通信单元501可用于收发信息,或通话过程中信号的接收和发送,例如,将下行信息接收后,交由一个或者一个以上处理器503处理;另外,将涉及上行的数据发送出去。
[0171] 存储器502可用于存储应用程序和数据。存储器502存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器503通过运行存储在存储器502的应用程序,从而执行各种功能应用以及数据处理。
[0172] 处理器503是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。
[0173] 在本实施例中,移动终端中的处理器503会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器502中,并由处理器503来运行存储在存储器502中的应用程序,从而实现步骤:
[0174] 获取第一线性表,所述第一线性表的每一元素用于记载一应用的操作信息,所述第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列。
[0175] 记录第一线性表中各元素对应的应用在不同时间段新增的操作信息。
[0176] 根据各时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息,每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔。
[0177] 当前台的应用变化时,在第一线性表中设置与前台应用对应的元素,并触发执行所述记录第一线性表中各元素对应的应用在不同时间段新增的操作信息步骤。
[0178] 此外,请参阅图10,移动终端600可以包括通信单元601、存储器602、处理器603、输入单元604和输出单元605。
[0179] 通信单元601可用于收发信息,或通话过程中信号的接收和发送,例如,将下行信息接收后,交由一个或者一个以上处理器603处理;另外,将涉及上行的数据发送出去。
[0180] 存储器602可用于存储应用程序和数据。存储器602存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器603通过运行存储在存储器602的应用程序,从而执行各种功能应用以及数据处理。
[0181] 处理器603是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器602内的应用程序,以及调用存储在存储器602内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。
[0182] 输入单元604可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。在一实施例中,输入单元604可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板。
[0183] 输出单元605可用于显示由用户输入的信息或提供给用户的信息以及移动终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。输出单元可包括显示面板。
[0184] 在本实施例中,移动终端中的处理器603会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器602中,并由处理器603来运行存储在存储器602中的应用程序,从而实现步骤:
[0185] 获取第一线性表,所述第一线性表的每一元素用于记载一应用的操作信息,所述第一线性表的元素按照应用最近一次位于前台的时间先后顺序进行排列。
[0186] 记录第一线性表中各元素对应的应用在不同时间段新增的操作信息。
[0187] 根据各时间段所记录到的各应用新增的操作信息,更新第一线性表中对应的元素包含的信息,第一线性表的每一元素包括一第二线性表,每一第二线性表的各元素分别用于记载应用在不同时间段的操作信息,每一第二线性表的元素两两之间对应的时间间隔小于或等于预设时间间隔。
[0188] 当前台的应用变化时,在第一线性表中设置与前台应用对应的元素,并触发执行所述记录第一线性表中各元素对应的应用在不同时间段新增的操作信息步骤。
[0189] 在一种实施方式中,处理器603执行所述在第一线性表中设置与前台应用对应的元素的步骤时,可以执行:检测第一线性表中是否包含与前台应用对应的元素。若检测出第一线性表中包含与前台应用对应的元素,则将前台应用对应的元素调整为第一线性表的首个元素。若检测出第一线性表中不包含与前台应用对应的元素,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。
[0190] 在一种实施方式中,处理器603执行所述若检测出第一线性表中不包含与前台应用对应的元素,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素的步骤时,可以执行:若检测出第一线性表中不包含与前台应用对应的元素,则检测第一线性表的元素个数是否达到预设数值。若检测到第一线性表的元素个数达到预设数值,则删除第一线性表中的最后一个元素,并创建对应于前台应用的元素,以及将对应于前台应用的元素添加到第一线性表中成为首个元素。若检测到第一线性表的元素个数未达到预设数值,则创建对应于前台应用的元素,并将对应于前台应用的元素添加到第一线性表中成为首个元素。
[0191] 在一种实施方式中,处理器603还可以执行如下步骤:当检测到终端关机时,对第一线性表对应的数据进行序列化操作,并将经过序列化的数据存储到预设存储地址。
[0192] 在一种实施方式中,处理器603还可以执行如下步骤:当检测到终端开机时,对所述终端的预设存储地址中的数据进行反序列化操作,得到经过反序列化的数据。将所述经过反序列化的数据存储到内存中,并确定为第一线性表。
[0193] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对记录应用信息的方法的详细描述,此处不再赘述。
[0194] 本申请实施例提供的所述记录应用信息的装置与上文实施例中的记录应用信息的方法属于同一构思,在所述记录应用信息的装置上可以运行所述记录应用信息的方法实施例中提供的任一方法,其具体实现过程详见所述记录应用信息的方法实施例,此处不再赘述。
[0195] 需要说明的是,对本申请实施例所述记录应用信息的方法而言,本领域普通技术人员可以理解实现本申请实施例所述记录应用信息的方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述记录应用信息的方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
[0196] 对本申请实施例的所述记录应用信息的装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
[0197] 以上对本申请实施例所提供的一种记录应用信息的方法、装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。