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

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

Info

Publication number
CN108363633A
CN108363633A CN201810035719.7A CN201810035719A CN108363633A CN 108363633 A CN108363633 A CN 108363633A CN 201810035719 A CN201810035719 A CN 201810035719A CN 108363633 A CN108363633 A CN 108363633A
Authority
CN
China
Prior art keywords
activity
container
stored
total queue
threshold value
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.)
Granted
Application number
CN201810035719.7A
Other languages
English (en)
Other versions
CN108363633B (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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

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 (10)

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

* 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 武汉斗鱼网络科技有限公司 一种界面缓存方法及系统
US20170195196A1 (en) * 2015-12-31 2017-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 (4)

* 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 迈普通信技术股份有限公司 一种用于无线局域网的队列管理方法以及无线接入设备
US20170195196A1 (en) * 2015-12-31 2017-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
CN106557434A (zh) * 2016-10-28 2017-04-05 武汉斗鱼网络科技有限公司 一种界面缓存方法及系统

Also Published As

Publication number Publication date
CN108363633B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
WO2018127063A1 (zh) 应用数据处理的方法、装置及存储介质
CN103995855B (zh) 存储数据的方法和装置
CN107402804B (zh) 后台进程管控方法、装置、存储介质及电子设备
CN107153620A (zh) 一种数据处理方法及装置
CN106899643A (zh) 一种用户日志存储方法及设备
WO2016197814A1 (zh) 垃圾文件识别及管理方法、识别装置、管理装置和终端
CN105893615A (zh) 基于手机取证数据的机主特征属性挖掘方法及其系统
CN105607800A (zh) 一种终端屏幕输入显示的方法及装置
WO2015070671A1 (zh) 生成菜单的方法和装置
CN104219639A (zh) 一种显示短信记录的方法和装置
CN106201237A (zh) 一种信息收藏方法及装置
EP2997715B1 (en) Transmitting information based on reading speed
CN104536780A (zh) 一种电子游戏资源高效加载方法及系统
CN105681252A (zh) 一种基于客户端侧数据的处理方法及装置
CN109710571A (zh) 一种文件解析方法、设备及存储介质
US11429660B2 (en) Photo processing method, device and computer equipment
CN106474666A (zh) 一种智能跑步方法以及一种智能跑步机
CN109684566A (zh) 标签引擎实现方法、装置、计算机设备及存储介质
CN108363633A (zh) 控制Activity数量的方法、装置、设备及可读存储介质
CN106202456B (zh) 发送图片的方法及装置
CN107977436A (zh) 录屏文件的文件名生成方法、装置、终端及存储介质
CN104050100B (zh) 一种适用于大数据环境的数据流存储管理方法及系统
CN103150400A (zh) 一种基于MapReduce框架的数据筛选方法
CN105592097B (zh) 一种基于客户端的异步交互信息方法
CN108989244A (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