CN108363633B - 控制Activity数量的方法、装置、设备及可读存储介质 - Google Patents

控制Activity数量的方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN108363633B
CN108363633B CN201810035719.7A CN201810035719A CN108363633B CN 108363633 B CN108363633 B CN 108363633B CN 201810035719 A CN201810035719 A CN 201810035719A CN 108363633 B CN108363633 B CN 108363633B
Authority
CN
China
Prior art keywords
activity
queue container
activities
stored
preset threshold
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
CN201810035719.7A
Other languages
English (en)
Other versions
CN108363633A (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.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology Co 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201810035719.7A priority Critical patent/CN108363633B/zh
Publication of CN108363633A publication Critical patent/CN108363633A/zh
Application granted granted Critical
Publication of CN108363633B publication Critical patent/CN108363633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • 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/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Abstract

本发明介绍了一种控制Activity数量的方法、装置、设备及可读存储介质,该方法包括:获取在应用程序APP中新产生的活动窗口Activity,并判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值;在所述总队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的Activity删除;将所述新产生的Activity存储到所述总队列容器的末端。通过控制APP内总的Activity数量,降低了APP出现崩溃和内存溢出的概率。

Description

控制Activity数量的方法、装置、设备及可读存储介质
技术领域
本发明涉及通讯技术领域,尤其涉及一种控制活动窗口Activity数量的方法、装置、设备及可读存储介质。
背景技术
对于一个信息类APP(Application,应用程序),详情列表页的Activity是用户最为常见和经常使用的页面。但随着用户对信息的筛选与过滤,可能会出现页面无限循环的情况。例如,点击APP中的A页面上的按钮跳转到B页面,B页面也有跳转到A页面或者B页面不断的跳转B页面的交互,从而导致APP内存在的Activity的数量大幅增长,严重时会占用大量的内存空间,从而提高了OOM(Out of Memory,内存溢出)的发生概率以及APP的崩溃概率。此外,当用户在APP内点击了多个子页面时,用户需要回退多次才能返回到主页面,从而导致用户体验度非常差。
发明内容
本发明实施例的主要目的在于提出一种控制Activity数量的方法、装置、设备及可读存储介质,通过控制APP内总的Activity数量,降低了APP出现崩溃和内存溢出的概率。
为实现上述目的,本发明实施例提供了一种控制Activity数量的方法,所述方法包括:
获取在应用程序APP中新产生的活动窗口Activity,并判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值;
在所述总队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的Activity删除;
将所述新产生的Activity存储到所述总队列容器的末端。
可选的,在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,所述方法还包括:
判断所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量是否达到第二预设阈值;
在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量达到第二预设阈值的情况下,将所述总队列容器中最前端的与所述新产生的Activity的类型相同的Activity删除;
在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
可选的,在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,所述方法还包括:
判断与所述新产生的Activity的类型相对应的类型队列容器中已存储的Activity的数量是否达到第二预设阈值;其中,在所述类型队列容器中存储的Activity均存储在所述总队列容器中;
在所述类型队列容器中已存储的Activity的数量达到第二预设阈值的情况下,将所述类型队列容器中最前端的Activity删除,同时将所述总队列容器中的与在所述类型队列容器中删除的Activity相同的Activity删除,并将所述新产生的Activity存储到所述类型队列容器的末端;
在所述类型队列容器中已存储的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
可选的,在所述将所述总队列容器中最前端的Activity删除之后,并在所述将所述新产生的Activity存储到所述总队列容器的末端之前,所述方法还包括:
将与在所述总队列容器中删除的Activity的类型相对应的类型队列容器中的,与在所述总队列容器中删除的Activity相同的Activity删除。
可选的,在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,所述方法还包括:
判断所述新产生的Activity是否存在于预设的受限制的Activity的类型表中;
在所述新产生的Activity不存在于预设的受限制的Activity的类型表中的情况下,不将所述新产生的Activity存储到所述总队列容器中。
此外,为实现上述目的,本发明实施例还提出一种控制Activity数量的装置,所述装置包括:
第一判断模块,用于获取在应用程序APP中新产生的Activity,并判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值;
第一删除模块,用于在所述总队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的Activity删除;
第一存储模块,用于将所述新产生的Activity存储到所述总队列容器的末端。
可选的,所述装置还包括:
第二判断模块,用于在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,判断所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量是否达到第二预设阈值;
第二删除模块,用于在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量达到第二预设阈值的情况下,将所述总队列容器中最前端的与所述新产生的Activity的类型相同的Activity删除;在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
可选的,所述第二判断模块,还用于:
在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,判断与所述新产生的Activity的类型相对应的类型队列容器中已存储的Activity的数量是否达到第二预设阈值;其中,在所述类型队列容器中存储的Activity均存储在所述总队列容器中;
所述第二删除模块,还用于:
在所述类型队列容器中已存储的Activity的数量达到第二预设阈值的情况下,将所述类型队列容器中最前端的Activity删除,同时将所述总队列容器中的与在所述类型队列容器中删除的Activity相同的Activity删除,并将所述新产生的Activity存储到所述类型队列容器的末端;在所述类型队列容器中已存储的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
此外,为实现上述目的,本发明实施例还提出一种控制Activity数量的设备,所述设备包括:处理器、存储器及通信总线;
所述通信总线用于实现所述处理器和所述存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的控制Activity数量的程序,以实现上述介绍的控制Activity数量的方法的步骤。
此外,为实现上述目的,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质存储有控制Activity数量的程序;
当所述控制Activity数量的程序被至少一个处理器执行时,导致所述至少一个处理器执行上述介绍的控制Activity数量的方法的步骤。
本发明实施例提出的控制Activity数量的方法、装置、设备及可读存储介质,按照先入先出的原则,将总队列容器中最前端的Activity删除,从而将APP内Activity的总数量控制在设定范围内。本发明实施例不仅降低了APP出现崩溃和内存溢出的概率,还可以解决当用户在APP内点击了多个子页面时,用户需要退回多次才能返回到主页面的问题,从而提高了用户体验度。
附图说明
图1是本发明第一实施例的控制Activity数量的方法的流程图;
图2是本发明第一实施例中的总队列容器的示例图;
图3是本发明第二实施例的控制Activity数量的方法的流程图;
图4是本发明第二实施例中的总队列容器的示例图;
图5是本发明第三实施例的控制Activity数量的方法的流程图;
图6是本发明第三实施例中的类型队列容器的示例图;
图7是本发明第四实施例的控制Activity数量的装置的组成结构示意图;
图8是本发明第五实施例的控制Activity数量的设备的组成结构示意图。
具体实施方式
为更进一步阐述本发明实施例为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明实施例进行详细说明如后。
本发明第一实施例,提出了一种控制Activity数量的方法,如图1所示,所述方法具体包括以下步骤:
步骤S101:获取在应用程序APP中新产生的Activity,并判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
Activity是安卓Android系统中最基本也是最为常见用的四大组件(Activity、服务、内容提供和广播接收器)之一。在Android系统中,Activity是一个负责与用户交互的组件,向用户提供人机交互界面,广泛应用于各个应用中。在面向对象的编程语言中,一个Activity提供的人机交互界面对应于一个Activity实例。
在本发明实施例中,预先为APP设置对应的总队列容器,用于存储在APP中产生的各种类型的Activity。其中。总队列容器采用队列形式,队列形式的特殊之处在于只允许在队列的前端进行删除操作,而在队列的后端进行插入操作,即总队列容器按照先入先出的原则对APP内产生的Activity进行存储。
步骤S102:在所述总队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的Activity删除。
例如,将总队列容器的最大存储容量设置为7,即第一预设阈值为7。如图2所示,当APP中新产生第一类型的Activity时,判断总队列容器中已存储的Activity的数量是否达到7个,若是,则将总队列容器中最前端的Activity删除。
步骤S103:将所述新产生的Activity存储到所述总队列容器的末端。
如图2所示,在将总队列容器中最前端的Activity删除之后,将新产生的第一类型的Activity添加到总队列容器的末端。
进一步的,在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,所述方法还包括:
步骤A1:判断所述新产生的Activity是否存在于预设的受限制的Activity的类型表中;
步骤A2:在所述新产生的Activity不存在于预设的受限制的Activity的类型表中的情况下,不将所述新产生的Activity存储到所述总队列容器中。
在本发明实施例中,按照Activity类型将Activity分为两类,一类是受数量限制的,另一类是不受数量限制的。受数量限制的Activity需要存储到总队列容器中,而不受数量限制的Activity不需要存储到总队列容器中。
为了查找方便,管理人员会预先设置配置属性文件,该配置属性文件包括:总队列容器的第一预设阈值,受限制的Activity的类型表。在该受限制的Activity的类型表中记录有需要存储到总队列容器中的Activity类型。当总队列容器第一次初始化设置时,会获取该配置属性文件中的第一预设阈值。此外,为了便于判断新产生的Activity是否存在于受限制的Activity的类型表中,可以通过使用Activity类型的哈希值作为查找标志。
在本发明实施例中,通过控制总队列容器中Activity的数量以将APP内Activity的总数量控制在设定范围内。总队列容器采用先入先出的原则,当总队列容器中已存储的Activity的数量达到最大存储量时,将总队列容器中最前端的Activity删除,从而降低了APP出现崩溃和内存溢出的概率。
本发明第二实施例,提出了一种控制Activity数量的方法,如图3所示,所述方法具体包括以下步骤:
步骤S301:获取在应用程序APP中新产生的Activity。
步骤S302:判断与所述APP对应的总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量是否达到第一预设阈值;
若是,则执行步骤S303;若否,则执行步骤S304。
具体的,在本发明实施例中,预先为APP设置对应的总队列容器,用于存储在APP中产生的各种类型的Activity。其中,总队列容器采用队列形式,队列形式的特殊之处在于只允许在队列的前端进行删除操作,而在队列的后端进行插入操作,即总队列容器按照先入先出的原则对APP内产生的Activity进行存储。
在本发明实施例中,分别为不同类型的Activity设置了对应的允许在总队列容器中存储的Activity的最大数量值。例如,第一类型的Activity在总队列容器中存储的总数量不能超过3个,第二类型的Activity在总队列容器中存储的总数量不能超过2个。
步骤S303:在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的与所述新产生的Activity的类型相同的Activity删除。
例如,将第一类型的Activity允许在总队列容器中存储的最大数量值设置为3,即第一预设阈值为3。如图4所示,当APP中新产生了第一类型的Activity时,判断总队列容器中已存储的第一类型的Activity的数量是否达到3个,若是,则将总队列容器中最前端的第一类型的Activity删除。
步骤S304:判断所述总队列容器中已存储的Activity的数量是否达到第二预设阈值;
若是,则执行步骤S305;若否,则执行步骤S306。
在本发明实施例中,将总队列容器允许存储的Activity的最大数量值设置为第二预设阈值。
步骤S305:在所述总队列容器中已存储的Activity的数量达到第二预设阈值的情况下,将所述总队列容器中最前端的Activity删除。
步骤S306:将所述新产生的Activity存储到所述总队列容器的末端。
进一步的,在步骤S302之前,所述方法还包括:
步骤A1:判断所述新产生的Activity是否存在于预设的受限制的Activity的类型表中;
步骤A2:在所述新产生的Activity不存在于预设的受限制的Activity的类型表中的情况下,不将所述新产生的Activity存储到所述总队列容器中。
在本发明实施例中,按照Activity类型将Activity分为两类,一类是受数量限制的,另一类是不受数量限制的。受数量限制的Activity需要存储到总队列容器中,而不受数量限制的Activity不需要存储到总队列容器中。
为了查找方便,管理人员会预先设置配置属性文件,该配置属性文件包括:总队列容器的第一预设阈值,受限制的Activity的类型表。在该受限制的Activity的类型表中记录有需要存储到总队列容器中的Activity类型,以及每种类型的Activity允许出现在总队列容器的最大值。当总队列容器第一次初始化设置时,会获取该配置属性文件中的第一预设阈值。此外,为了便于判断新产生的Activity是否存在于受限制的Activity的类型表中,可以通过使用Activity类型的哈希值作为查找标志。
本发明实施例中,不仅可以限制某种类型的Activity在总队列容器中的数量,还能限制总队列容器中的Activity的总数量,从而将APP内Activity的总数量控制在设定范围内。
本发明第三实施例,提出了一种控制Activity数量的方法,如图5所示,所述方法具体包括以下步骤:
步骤S501:获取在应用程序APP中新产生的Activity。
步骤S502:判断与所述新产生的Activity的类型相对应的类型队列容器中已存储的Activity的数量是否达到第一预设阈值;
若是,则执行步骤S503;若否,则执行步骤S504。
具体的,在本发明实施例中,预先分别为每种类型的Activity设置对应的类型队列容器,用于存储在APP中产生的对应类型的Activity。其中,类型队列容器采用队列形式,队列形式的特殊之处在于只允许在队列的前端进行删除操作,而在队列的后端进行插入操作,即类型队列容器按照先入先出的原则对APP内产生的对应类型的Activity进行存储。
此外,在本发明实施例中,分别为每种类型的类型队列容器设置对应的最大存储量值。例如,第一类型的类型队列容器中允许存储的Activity的总数量不能超过3个,第二类型的类型队列容器中允许存储的Activity的总数量不能超过2个。
步骤S503:在所述类型队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述类型队列容器中最前端的Activity删除,同时将与所述APP对应的总队列容器中的与在所述类型队列容器中删除的Activity相同的Activity删除,并将所述新产生的Activity存储到所述类型队列容器的末端。
具体的,在本发明实施例中,预先为APP设置对应的总队列容器,用于存储在APP中产生的各种类型的Activity。其中。总队列容器采用队列形式,队列形式的特殊之处在于只允许在队列的前端进行删除操作,而在队列的后端进行插入操作,即总队列容器按照先入先出的原则对APP内产生的Activity进行存储。
其中,在所述类型队列容器中存储的Activity均存储在所述总队列容器中。
例如,将第一类型的类型队列容器中允许存储的Activity的总数量设置为3,即第一预设阈值为3。如图6所示,当APP中新产生了第一类型的Activity时,判断类型队列容器中已存储的第一类型的Activity的数量是否达到3个,若是,则将类型队列容器中最前端的Activity删除,同时将总队列容器中最前的第一类型的Activity删除。需要说明的是,在类型队列容器中删除的Activity与在总队列容器中删除的Activity为同一Activity。
步骤S504:判断所述总队列容器中已存储的Activity的数量是否达到第二预设阈值;
若是,则执行步骤S505;若否,则执行步骤S507。
在本发明实施例中,将总队列容器允许存储的Activity的最大数量值设置为第二预设阈值。
步骤S505:在所述总队列容器中已存储的Activity的数量达到第二预设阈值的情况下,将所述总队列容器中最前端的Activity删除。
步骤S506:将与在所述总队列容器中删除的Activity的类型相对应的类型队列容器中的,与在所述总队列容器中删除的Activity相同的Activity删除。
需要说明的是,在步骤S505中删除的总队列容器中的Activity与在步骤S506中删除的类型队列容器中的Activity为同一Activity,
步骤S507:将所述新产生的Activity存储到所述总队列容器的末端。
进一步的,在步骤S502之前,所述方法还包括:
步骤A1:判断所述新产生的Activity是否存在于预设的受限制的Activity的类型表中;
步骤A2:在所述新产生的Activity不存在于预设的受限制的Activity的类型表中的情况下,不将所述新产生的Activity存储到所述类型队列容器和所述总队列容器中。
在本发明实施例中,按照Activity类型将Activity分为两类,一类是受数量限制的,另一类是不受数量限制的。受数量限制的Activity需要存储到类型队列容器和总队列容器中,而不受数量限制的Activity不需要存储到类型队列容器和总队列容器中。
为了查找方便,管理人员会预先设置配置属性文件,该配置属性文件包括:总队列容器的第一预设阈值,受限制的Activity的类型表。在该受限制的Activity的类型表中记录有需要存储到总队列容器中的Activity类型,以及每种类型的Activity允许出现在总队列容器的最大值(即,每种类型的类型队列容器的最大存储量值)。当总队列容器第一次初始化设置时,会获取该配置属性文件中的第一预设阈值。此外,为了便于判断新产生的Activity是否存在于受限制的Activity的类型表中,可以通过使用Activity类型的哈希值作为查找标志。
本发明实施例中,通过类型队列容器和总队列容器,不仅可以限制APP中的某种类型的Activity的数量,还能限制APP中的总的Activity的数量,从而将APP内Activity的总数量控制在设定范围内。
本发明第四实施例,提出了一种控制Activity数量的装置,如图7所示,所述装置具体包括以下组成部分:
第一判断模块701,用于获取在应用程序APP中新产生的Activity,并判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
第一删除模块702,用于在所述总队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的Activity删除。
第一存储模块703,用于将所述新产生的Activity存储到所述总队列容器的末端。
具体的,所述装置还包括:
第二判断模块,用于在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,判断所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量是否达到第二预设阈值;
第二删除模块,用于在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量达到第二预设阈值的情况下,将所述总队列容器中最前端的与所述新产生的Activity的类型相同的Activity删除;在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
进一步的,所述第二判断模块,还用于:
在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,判断与所述新产生的Activity的类型相对应的类型队列容器中已存储的Activity的数量是否达到第二预设阈值;其中,在所述类型队列容器中存储的Activity均存储在所述总队列容器中;
所述第二删除模块,还用于:
在所述类型队列容器中已存储的Activity的数量达到第二预设阈值的情况下,将所述类型队列容器中最前端的Activity删除,同时将所述总队列容器中的与在所述类型队列容器中删除的Activity相同的Activity删除,并将所述新产生的Activity存储到所述类型队列容器的末端;在所述类型队列容器中已存储的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
进一步的,所述装置还包括:
处理模块,用于将与在所述总队列容器中删除的Activity的类型相对应的类型队列容器中的,与在所述总队列容器中删除的Activity相同的Activity删除。
更进一步的,所述装置还包括:
第三判断模块,用于在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,判断所述新产生的Activity是否存在于预设的受限制的Activity的类型表中;在所述新产生的Activity不存在于预设的受限制的Activity的类型表中的情况下,不将所述新产生的Activity存储到所述总队列容器中。
本发明第五实施例,提出了一种控制Activity数量的设备,如图8所示,所述设备包括:处理器801、存储器802及通信总线;
所述通信总线用于实现处理器801和存储器802之间的连接通信;
处理器801用于执行存储器802中存储的控制Activity数量的程序,以实现以下步骤:
获取在应用程序APP中新产生的Activity,并判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值;
在所述总队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的Activity删除;
将所述新产生的Activity存储到所述总队列容器的末端。
本发明第六实施例,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有控制Activity数量的程序;
当所述控制Activity数量的程序被至少一个处理器执行时,导致所述至少一个处理器执行以下步骤操作:
获取在应用程序APP中新产生的Activity,并判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值;
在所述总队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的Activity删除;
将所述新产生的Activity存储到所述总队列容器的末端。
本发明实施例中介绍的控制Activity数量的方法、装置、设备及可读存储介质,按照先入先出的原则,将总队列容器中最前端的Activity删除,从而将APP内Activity的总数量控制在设定范围内。本发明实施例不仅降低了APP出现崩溃和内存溢出的概率,还可以解决当用户在APP内点击了多个子页面时,用户需要退回多次才能返回到主页面的问题,从而提高了用户体验度。
通过具体实施方式的说明,应当可对本发明实施例为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明实施例加以限制。

Claims (9)

1.一种控制Activity数量的方法,其特征在于,所述方法包括:
获取在应用程序APP中新产生的活动窗口Activity,并判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值;
在所述总队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的Activity删除;
将所述新产生的Activity存储到所述总队列容器的末端;
在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,所述方法还包括:
判断与所述新产生的Activity的类型相对应的类型队列容器中已存储的Activity的数量是否达到第二预设阈值;其中,在所述类型队列容器中存储的Activity均存储在所述总队列容器中;
在所述类型队列容器中已存储的Activity的数量达到第二预设阈值的情况下,将所述类型队列容器中最前端的Activity删除,同时将所述总队列容器中的与在所述类型队列容器中删除的Activity相同的Activity删除,并将所述新产生的Activity存储到所述类型队列容器的末端;
在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,所述方法还包括:判断所述新产生的Activity是否存在于预设的受限制的Activity的类型表中;
在所述新产生的Activity不存在于预设的受限制的Activity的类型表中的情况下,不将所述新产生的Activity存储到所述总队列容器中。
2.根据权利要求1所述的控制Activity数量的方法,其特征在于,在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,所述方法还包括:
判断所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量是否达到第二预设阈值;
在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量达到第二预设阈值的情况下,将所述总队列容器中最前端的与所述新产生的Activity的类型相同的Activity删除;
在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
3.根据权利要求1所述的控制Activity数量的方法,其特征在于,在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,所述方法还包括:
在所述类型队列容器中已存储的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
4.根据权利要求3所述的控制Activity数量的方法,其特征在于,在所述将所述总队列容器中最前端的Activity删除之后,并在所述将所述新产生的Activity存储到所述总队列容器的末端之前,所述方法还包括:
将与在所述总队列容器中删除的Activity的类型相对应的类型队列容器中的,与在所述总队列容器中删除的Activity相同的Activity删除。
5.一种控制Activity数量的装置,其特征在于,所述装置包括:
第一判断模块,用于获取在应用程序APP中新产生的Activity,并判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值;
第一删除模块,用于在所述总队列容器中已存储的Activity的数量达到第一预设阈值的情况下,将所述总队列容器中最前端的Activity删除;
第一存储模块,用于将所述新产生的Activity存储到所述总队列容器的末端;
第二判断模块,用于:
在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,判断与所述新产生的Activity的类型相对应的类型队列容器中已存储的Activity的数量是否达到第二预设阈值;其中,在所述类型队列容器中存储的Activity均存储在所述总队列容器中;
第二删除模块,用于:
在所述类型队列容器中已存储的Activity的数量达到第二预设阈值的情况下,将所述类型队列容器中最前端的Activity删除,同时将所述总队列容器中的与在所述类型队列容器中删除的Activity相同的Activity删除,并将所述新产生的Activity存储到所述类型队列容器的末端;
第三判断模块,用于在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,判断所述新产生的Activity是否存在于预设的受限制的Activity的类型表中;
在所述新产生的Activity不存在于预设的受限制的Activity的类型表中的情况下,不将所述新产生的Activity存储到所述总队列容器中。
6.根据权利要求5所述的控制Activity数量的装置,其特征在于,所述第二判断模块,还用于在所述判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值之前,判断所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量是否达到第二预设阈值;
所述第二删除模块,还用于在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量达到第二预设阈值的情况下,将所述总队列容器中最前端的与所述新产生的Activity的类型相同的Activity删除;在所述总队列容器中已存储的与所述新产生的Activity的类型相同的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
7.根据权利要求5所述的控制Activity数量的装置,其特征在于,
所述第二删除模块,还用于:
在所述类型队列容器中已存储的Activity的数量未达到第二预设阈值的情况下,继续判断与所述APP对应的总队列容器中已存储的Activity的数量是否达到第一预设阈值。
8.一种控制Activity数量的设备,其特征在于,所述设备包括:处理器、存储器及通信总线;
所述通信总线用于实现所述处理器和所述存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的控制Activity数量的程序,以实现权利要求1至4中任一项所述的控制Activity数量的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有控制Activity数量的程序;
当所述控制Activity数量的程序被至少一个处理器执行时,导致所述至少一个处理器执行权利要求1至4中任一项所述的控制Activity数量的方法的步骤。
CN201810035719.7A 2018-01-15 2018-01-15 控制Activity数量的方法、装置、设备及可读存储介质 Active CN108363633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810035719.7A CN108363633B (zh) 2018-01-15 2018-01-15 控制Activity数量的方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810035719.7A CN108363633B (zh) 2018-01-15 2018-01-15 控制Activity数量的方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN108363633A CN108363633A (zh) 2018-08-03
CN108363633B true CN108363633B (zh) 2021-11-23

Family

ID=63006266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810035719.7A Active CN108363633B (zh) 2018-01-15 2018-01-15 控制Activity数量的方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN108363633B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232455A (zh) * 2008-02-04 2008-07-30 中兴通讯股份有限公司 一种拥塞控制方法及装置
CN101835102A (zh) * 2010-05-19 2010-09-15 迈普通信技术股份有限公司 一种用于无线局域网的队列管理方法以及无线接入设备
CN106557434A (zh) * 2016-10-28 2017-04-05 武汉斗鱼网络科技有限公司 一种界面缓存方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11057466B2 (en) * 2015-12-31 2021-07-06 Dell Products L.P. Method and system for generating out-of-band notifications of client activity in a network attached storage (NAS) device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232455A (zh) * 2008-02-04 2008-07-30 中兴通讯股份有限公司 一种拥塞控制方法及装置
CN101835102A (zh) * 2010-05-19 2010-09-15 迈普通信技术股份有限公司 一种用于无线局域网的队列管理方法以及无线接入设备
CN106557434A (zh) * 2016-10-28 2017-04-05 武汉斗鱼网络科技有限公司 一种界面缓存方法及系统

Also Published As

Publication number Publication date
CN108363633A (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
CN108495195B (zh) 一种网络直播排行榜生成方法、装置、设备及存储介质
EP3076283B1 (en) System and method for managing content deletion
EP2933723A1 (en) Method, device and terminal equipment for cleaning up memory
CN105095107A (zh) 清理缓存数据的方法及装置
CN106294206B (zh) 一种缓存数据处理方法以及装置
US11093335B2 (en) Data replication method, apparatus, and system
CN107197050A (zh) 一种分布式存储系统中文件写入的方法及系统
CN112799606B (zh) Io请求的调度方法及装置
CN104219561A (zh) 一种离线视频的清理方法和用户设备
CN112579263A (zh) 任务执行方法及装置、存储介质及电子设备
CN103076955A (zh) 一种调整应用的文字的方法、装置及终端
CN111143290A (zh) 一种内存管理方法、系统、设备及计算机可读存储介质
US11561929B2 (en) Method, device and computer program product for shrinking storage space
CN110889062A (zh) 页面加载方法及装置、终端和计算机可读存储介质
CN108933947B (zh) 弹幕显示方法及装置
CN108363633B (zh) 控制Activity数量的方法、装置、设备及可读存储介质
CN113726842B (zh) 一种文件上传方法和装置、电子设备及存储介质
CN109213950B (zh) Iptv智能机顶盒浏览器应用的数据处理方法及装置
CN113127780A (zh) 页面加载方法、装置和电子设备
CN109582460B (zh) 一种Redis内存数据的淘汰方法和装置
CN109977074B (zh) 一种基于hdfs的lob数据处理方法及装置
CN103377071A (zh) 一种数据批量删除方法和系统
CN105183288A (zh) 单窗口多任务显示方法及其智能移动终端
CN111176848B (zh) 集群任务的处理方法、装置、设备和存储介质
CN109510774B (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