CN108595281B - 活动对象处理方法、装置、存储介质及终端 - Google Patents
活动对象处理方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN108595281B CN108595281B CN201810386961.9A CN201810386961A CN108595281B CN 108595281 B CN108595281 B CN 108595281B CN 201810386961 A CN201810386961 A CN 201810386961A CN 108595281 B CN108595281 B CN 108595281B
- Authority
- CN
- China
- Prior art keywords
- active object
- target application
- application interface
- active
- stop queue
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例公开了一种活动对象处理方法、装置、存储介质及终端,该方法包括:首先当接收到空闲消息时,获取停止队列中的活动对象;其次,从所述活动对象中查找处于清除状态且具有无历史属性的第一活动对象;再次,判断所述第一活动对象对应的目标应用界面是否可见;最后,如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列,能够避免当前台显示配置了无历史属性的活动对象时,用户点击Home键返回桌面时出现闪黑且没有动画效果的问题,提高系统流畅性和用户体验。
Description
技术领域
本申请实施例涉及移动终端应用控制技术领域,尤其涉及活动对象处理方法、装置、存储介质及终端。
背景技术
随着安卓系统的不断发展,安卓系统为活动对象配置越来越多的可操作的属性。例如,为活动对象(Activity)配置无历史(noHistory)属性,具有该属性的活动对象在调至后台时会被系统销毁。
但是,在使用中发现当前台显示配置了无历史属性的活动对象时,如果用户点击Home键,则在返回桌面时会出现闪黑且没有动画效果的问题,导致系统卡顿浪费资源,且用户体验差。
发明内容
本申请实施例的目的是提供一种活动对象处理方法、装置、存储介质及终端,可以提高系统流畅性和用户体验。
第一方面,本申请实施例提供了一种活动对象处理方法,包括:
当接收到空闲消息时,获取停止队列中的活动对象;
从所述活动对象中查找处于清除状态且具有无历史属性的第一活动对象;
判断所述第一活动对象对应的目标应用界面是否可见;
如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列。
第二方面,本申请实施例提供了一种活动对象处理装置,包括:
获取模块,用于当接收到空闲消息时,获取停止队列中的活动对象;
查找模块,用于从所述获取单元接收的所述活动对象中查找处于清除状态且具有无历史属性的第一活动对象;
判断模块,用于判断所述查找模块查找的所述第一活动对象对应的目标应用界面是否可见;
队列处理模块,用于如果所述判断模块判定所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所示的活动对象处理方法。
第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所示的活动对象处理方法。
本申请实施例中提供的活动对象处理方案,首先当接收到空闲消息时,获取停止队列中的活动对象;其次,从所述活动对象中查找处于清除状态且具有无历史属性的第一活动对象;再次,判断所述第一活动对象对应的目标应用界面是否可见;最后,如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列,能够避免当前台显示配置了无历史属性的活动对象时,用户点击Home键返回桌面时出现闪黑且没有动画效果的问题,提高系统流畅性和用户体验。
附图说明
图1为本申请实施例提供的一种活动对象处理方法的流程示意图;
图2为本申请实施例提供的另一种活动对象处理方法的流程示意图;
图3为本申请实施例提供的另一种活动对象处理方法的流程示意图;
图4为本申请实施例提供的另一种活动对象处理方法的流程示意图;
图5为本申请实施例提供的另一种活动对象处理方法的流程示意图;
图6为本申请实施例提供的另一种活动对象处理方法的流程示意图;
图7为本申请实施例提供的一种活动对象处理装置的结构示意图;
图8为本申请实施例提供的一种移动终端的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
随着移动终端应用技术的不断发展,安卓(Android)系统不断进行升级。在每次系统升级中会开放新的对象处理功能。例如,在安卓Android8.1系统中,为活动(Activity)对象配置了新的无历史(noHistory)属性。无历史属性是活动对象(Activity)的一种属性,配置了这个属性的Activity在跑到后台之后会被系统销毁。在安卓系统中的一个界面可以被称为一个活动对象(Activity)。
在Android 8.1系统中,在配置了noHistory属性的Activity使用home键返回桌面时,会出现闪黑且没有动画效果的问题,这个问题是Android系统的原生bug。例如在欧珀(OPPO)手机的应用加密界面,点击HOME键就会出现该现象,会影响用户体验,破坏系统的一致性。
本申请实施例提供了一种活动对象处理方法,能够在活动的销毁过程中,可以判断处于清除状态且具有无历史属性的活动对象的下一个执行的目标应用界面是否可见,当不可见时将活动对象放回至停止队列,进而避免由于活动对象销毁且下一个执行的目标应用界面不可见的问题,可以提高系统流畅性和用户体验。具体方案如下所示:
图1为本申请实施例提供的活动对象处理方法的流程示意图,该方法用于移动终端活动对象界面切换的情况,该方法可以由运行有安卓系统的移动终端来执行,该移动终端可以为智能手机、平板电脑、可穿戴设备、笔记本电脑等,该方法具体包括如下步骤:
步骤110、当接收到空闲消息时,获取停止队列中的活动对象。
安卓8.1系统中,由活动对象管理服务(ActivityManagerService,AMS)维护停止队列(mStoping队列)。停止队列用于存储正在等待执行的处于等待状态(Stop)和清除状态(Finish)的活动对象。当系统中触发了空闲消息(IDLE_NOW_MSG)时,系统将空闲消息发送到活动对象管理服务AMS,其中,空闲消息(IDLE_NOW_MSG)又称为当前空闲消息。活动对象管理服务AMS接收到空闲消息时,对停止队列中的活动对象进行处理。
尤其是,对于停止队列中处于清除状态(Finish)的活动对象,活动对象管理服务将直接调用finishCurrentActivity,且mode为FINISH_IMMEDIATELY,即立刻销毁,并没有考虑到下一个需要显示的Activity是否出现。
步骤110中当活动对象管理服务AMS接收到空闲消息时,获取停止队列中的活动对象。活动对象包括处于清除状态(Finish)的活动对象,还包括处于等待状态(Stop)的活动对象。
步骤120、从活动对象中查找处于清除状态且具有无历史属性的第一活动对象。
在获取到的多个活动对象中,查找处于清除状态(Finish)的活动对象。然后判断处于清除状态(Finish)的活动对象是否具有无历史(noHistory)属性。将处于清除状态且具有无历史属性的活动对象确定为第一活动对象。
步骤130、判断第一活动对象对应的目标应用界面是否可见。
在触发空闲消息时,在空闲消息中携带活动对象标识、活动对象调整到的状态以及活动对象销毁后下一个启动的应用。其中,下一个启动的应用界面称为目标应用界面。
获取第一活动对象对应的下一个启动的目标应用界面是否可见的信息。如果第一活动对象对应的目标应用界面可见,执行步骤150。否则,如果第一活动对象对应的目标应用界面不可见,则执行步骤140。
步骤140、如果目标应用界面不可见,则将第一活动对象方放回至停止队列。
如果目标应用界面不可见,此时立即销毁第一活动对象,则将出现闪黑问题。因此,在本次停止队列的处理周期中,不对活动对象进行销毁操作,而是在本次处理周期之后将第一活动对象放回至停止队列,并等待下一次空闲消息触发的清理操作。
步骤150、如果目标应用界面可见,则销毁第一活动对象。
如果目标应用界面可见,则执行立即销毁第一活动对象的操作不会出现闪黑问题,因此可以调用finishCurrentActivity销毁第一活动对象。
本申请实施例提供的活动对象处理方法,首先当接收到空闲消息时,获取停止队列中的活动对象。其次,从活动对象中查找处于清除状态且具有无历史属性的第一活动对象。再次,判断第一活动对象对应的目标应用界面是否可见。最后,如果目标应用界面不可见,则将第一活动对象方放回至停止队列。相对于目前接收到空闲消息后清除停止队列中全部活动对象,导致目标应用界面不可见时,清除第一活动对象导致闪黑且没有动画效果的问题,本申请实施例提供的活动对象处理方法,能够在接收到空闲消息后,从停止队列中查找处于清除状态且具有无历史属性的第一活动对象。如果第一活动对象对应的目标应用界面可见,则销毁第一活动对象。否则,如果目标应用界面可见,则销毁第一活动对象。在目标应用界面可见时销毁第一活动对象不会出现闪黑现象。当目标应用界面不可见时,将第一活动对象放回至停止队列,可以避免第一活动对象销毁导致闪黑。直至目标应用界面可见时,销毁第一活动对象,进而避免闪黑且没有动画效果的问题,提高系统流畅性和用户体验。
上述实施例能够对所有配置了noHistory的Activity,在finish状态时放回至停止队列,直至目标应用界面(下一个界面)可见之后再完成销毁操作。但是,由于应用程序操作的不稳定性,目标应用界面可能由于资源紧缺等问题迟迟无法显示,此时将造成第一活动对象持续占用停止队列空间无法被销毁。针对该问题,本申请实施例提出如下解决方案,分别通过图2和图3两种方式进行解决。
图2为本申请实施例提供的一种活动对象处理方法的流程图,作为上述实施例的进一步说明,包括:
步骤210、当接收到空闲消息时,获取停止队列中的活动对象。
步骤220、从活动对象中查找处于清除状态且具有无历史属性的第一活动对象。
步骤230、判断第一活动对象对应的目标应用界面是否可见。
如果可见,执行步骤290。否则,如果不可见,则执行步骤240。
步骤240、如果目标应用界面不可见,则将第一活动对象放回至停止队列。
步骤250、在首次将第一活动对象放回至停止队列时启动累计计数,得到计数结果,计数结果包括第一活动对象被放回至停止队列的次数。
在停止队列中添加第一活动对象时,为其分配一个计数变量,初始值为0。每进行一次将第一活动对象放回至停止队列,初始值进行加一操作。计数变量可以表示第一活动对象被放回至停止队列的次数。
步骤260、判断计数结果是否大于预设次数。
预设次数可以由程序员人工设置,也可以通过机器学习确定较为合适的数值。预设次数可以为大于2,参考值为5次或10次。
如果大于,则执行步骤270。否则,如果小于,则执行步骤280。
步骤270、如果计数结果大于预设次数,则销毁第一活动对象。
步骤280、如果计数结果小于预设次数,则将第一活动对象放回至停止队列。
步骤290、如果目标应用界面可见,则销毁第一活动对象。
本申请实施例提供的活动对象处理方法,能够在第一活动对象被放回至停止队列的次数超过预设次数时,销毁第一活动对象,避免由于目标应用界迟迟无法显示,造成第一活动对象持续占用停止队列空间的问题,实现及时销毁第一活动对象,提高系统资源利用率。
图3为本申请实施例提供的一种活动对象处理方法的流程图,作为上述实施例的进一步说明,包括:
步骤310、当接收到空闲消息时,获取停止队列中的活动对象。
步骤320、从活动对象中查找处于清除状态且具有无历史属性的第一活动对象。
步骤330、判断第一活动对象对应的目标应用界面是否可见。
如果可见,执行步骤390。否则,如果不可见,则执行步骤340。
步骤340、如果目标应用界面不可见,则将第一活动对象放回至停止队列。
步骤350、在首次将第一活动对象放回至停止队列时启动计时,得到计时结果,计时结果包括第一活动对象首次被放回至停止队列开始的累计时长。
在停止队列中添加第一活动对象时,为其分配一个计时变量,初始值为0。从第一活动对象首次被放回至停止队列时,启动计时。计时变量可以表示第一活动对象从首次被放回至停止队列其的计时时间。当第一活动对象被销毁时,同时删除计时变量。
步骤360、判断计时结果是否大于预设时间阈值。
预设时间阈值可以由程序员人工设置,也可以通过机器学习确定较为合适的数值。预设时间阈值可以为小于30秒,参考值为3秒或5秒。
如果计时结果大于预设时间阈值,则执行步骤370。否则,如果计时结果小于预设时间阈值,则执行步骤380。
可选的,大于为大于等于,或者小于为小于等于。
步骤370、如果计时结果大于预设时间阈值,则销毁第一活动对象。
步骤380、如果计时结果小于预设时间阈值,则将第一活动对象放回至停止队列。
步骤390、如果目标应用界面可见,则销毁第一活动对象。
本申请实施例提供的活动对象处理方法,能够在第一活动对象首次被放回至停止队列的累计时间超过预设时间阈值时,销毁第一活动对象,避免由于目标应用界迟迟无法显示,造成第一活动对象持续占用停止队列空间的问题,实现及时销毁第一活动对象,提高系统资源利用率。
图4为本申请实施例提供的一种活动对象处理方法的流程图,作为上述实施例的进一步说明,包括:
步骤410、当用户启动预设应用时,显示加密界面。
用户可以预先为应用程序设置加密界面。用户在加密界面中输入正确的密码后,启动应用程序。预设应用包括即时聊天应用、具有支付功能的应用或社交应用。
加密界面可以为虹膜解锁界面、指纹解锁界面、图形解锁界面或数字解锁界面中的一个或多个的组合。
步骤420、如果接收到用户触发的空闲消息,则将加密界面对应的第二活动对象添加到停止队列,为第二活动对象配置清除状态并设置无历史属性。
用户进行预设操作时,触发空闲消息。可选的,进一步的,接收到用户通过启示键(Home键)输入的空闲消息。此时,如果在显示加密界面时,用户点击启示键,则触发空闲消息。
步骤430、获取停止队列中的活动对象。
步骤440、从活动对象中查找处于清除状态且具有无历史属性的第一活动对象。
步骤450、判断第一活动对象对应的目标应用界面是否可见。
如果可见,执行步骤470。否则,如果不可见,则执行步骤460。
步骤460、如果目标应用界面不可见,则将第一活动对象方放回至停止队列。
步骤470、如果目标应用界面可见,则销毁第一活动对象。
本申请实施例提供的活动对象处理方法,能够在显示应用加密界面时,为设置了无历史属性的应用加密界面进行销毁控制,提高系统一致性和用户体验。
图5为本申请实施例提供的一种活动对象处理方法的流程图,作为上述实施例的进一步说明,包括:
步骤510、当接收到空闲消息时,获取停止队列中的活动对象。
步骤520、从活动对象中查找处于清除状态且具有无历史属性的第一活动对象。
步骤530、判断第一活动对象对应的目标应用界面是否可见。
如果可见,执行步骤570。否则,如果不可见,则执行步骤540。
步骤540、如果目标应用界面不可见,则将第一活动对象在停止队列之外进行缓存。
内存回收流程中会清除预设存储空间中的内容,而停止队列可以被设置到该预设存储空间中。本步骤中,将第一活动对象存储到预设存储空间之外,在AMS对停止队列中的活动对象进行处理后,将第一活动对象放回至停止队列。
步骤550、对停止队列中的活动对象进行销毁处理。
步骤560、当销毁处理完毕时,将第一活动对象放回至停止队列。
步骤570、如果目标应用界面可见,则销毁第一活动对象。
本申请实施例提供的活动对象处理方法,能够将第一活动对象在停止队列之外进行缓存,进而提高第一活动对象的完整性,提高第一活动对象放回至停止队列中的稳定性。
图6为本申请实施例提供的一种活动对象处理方法的流程图,作为上述实施例的进一步说明,包括:
步骤610、当接收到空闲消息时,获取停止队列中的活动对象。
步骤620、从活动对象中查找处于清除状态且具有无历史属性的第一活动对象。
步骤630、判断第一活动对象对应的目标应用界面是否可见。
如果可见,执行步骤650。否则,如果不可见,则执行步骤640。
步骤640、如果目标应用界面不可见,则将第一活动对象方放回至停止队列。
步骤650、如果目标应用界面可见,则判断目标应用界面是否成功加载。
如果目标应用在启动和执行过程中出现错误,则会增加第一活动对象被放回至停止队列中的次数和时间,降低系统流畅性。通过查找系统日志可获取到目标应用界面是否出现错误,如果未出现错误,则判定目标应用界面加载成功。
如果目标应用界面成功加载,则执行步骤660。如果目标应用界面未成功加载,则执行步骤670。
步骤660、如果目标应用界面成功加载,则销毁第一活动对象。
步骤670、如果目标应用界面未成功加载,则修复目标应用程序,使目标应用界面成功加载。
如果目标应用程序加载出现错误,则调用系统中的修复工具对内存会进程进行修复。或者也可以通过重新启动目标应用程序进行修复,以使目标应用界面成功加载。
本申请实施例能够在目标应用界面加载成功时,及时修复目标应用程序,提高稳定性。
图7为本申请实施例提供的一种活动对象处理装置的结构示意图。如图7所示,该装置包括:获取模块710、查找模块720、判断模块730和队列处理模块740。
获取模块710,用于当接收到空闲消息时,获取停止队列中的活动对象;
查找模块720,用于从所述获取单元接收的所述活动对象中查找处于清除状态且具有无历史属性的第一活动对象;
判断模块730,用于判断所述查找模块720查找的所述第一活动对象对应的目标应用界面是否可见;
队列处理模块740,用于如果所述判断模块730判定所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列。
队列处理模块740还用于如果目标应用界面可见,则销毁第一活动对象。
进一步的,所述队列处理模块740用于:
如果所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列;
在首次将所述第一活动对象放回至所述停止队列时启动累计计数,得到计数结果,所述计数结果包括所述第一活动对象被放回至所述停止队列的次数;
判断所述计数结果是否大于预设次数;
如果所述计数结果大于预设次数,则销毁所述第一活动对象;
如果所述计数结果小于预设次数,则将所述第一活动对象放回至所述停止队列。
进一步的,所述队列处理模块740用于:
如果所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列;
在首次将所述第一活动对象放回至所述停止队列时启动计时,得到计时结果,所述计时结果包括所述第一活动对象首次被放回至所述停止队列开始的累计时长;
判断所述计时结果是否大于预设时间阈值;
如果所述计时结果大于预设时间阈值,则销毁所述第一活动对象;
如果所述计时结果小于预设时间阈值,则将所述第一活动对象放回至所述停止队列。
进一步的,获取模块710用于:
当用户启动预设应用时,显示加密界面;
如果接收到用户触发的空闲消息,则将所述加密界面对应的第二活动对象添加到所述停止队列,为所述第二活动对象配置清除状态并设置无历史属性;
获取停止队列中的活动对象。
进一步的,获取模块710用于:
接收到用户通过启示键输入的空闲消息。
进一步的,所述队列处理模块740用于:
将所述第一活动对象在所述停止队列之外进行缓存;
对所述停止队列中的活动对象进行销毁处理;
当所述销毁处理完毕时,将所述第一活动对象放回至所述停止队列。
进一步的,所述队列处理模块740用于:
如果所述目标应用界面可见,则判断所述目标应用界面是否成功加载;
如果所述目标应用界面成功加载,则销毁所述第一活动对象。
本申请实施例提供的活动对象处理装置,首先获取模块710当接收到空闲消息时,获取停止队列中的活动对象。其次,查找模块720从活动对象中查找处于清除状态且具有无历史属性的第一活动对象。再次,判断模块730判断第一活动对象对应的目标应用界面是否可见。最后,队列处理模块740用于如果目标应用界面不可见,则将第一活动对象方放回至停止队列。相对于目前接收到空闲消息后清除停止队列中全部活动对象,导致目标应用界面不可见时,清除第一活动对象导致闪黑且没有动画效果的问题,本申请实施例提供的活动对象处理方法,能够在接收到空闲消息后,从停止队列中查找处于清除状态且具有无历史属性的第一活动对象。如果第一活动对象对应的目标应用界面可见,则销毁第一活动对象。否则,如果目标应用界面可见,则销毁第一活动对象。在目标应用界面可见时销毁第一活动对象不会出现闪黑现象。当目标应用界面不可见时,将第一活动对象放回至停止队列,可以避免第一活动对象销毁导致闪黑。直至目标应用界面可见时,销毁第一活动对象,进而避免闪黑且没有动画效果的问题,提高系统流畅性和用户体验。
上述装置可执行本申请前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请前述所有实施例所提供的方法。
图8是本申请实施例提供的另一种终端设备的结构示意图。如图8所示,该终端可以包括:壳体(图中未示出)、存储器801、中央处理器(Central Processing Unit,CPU)802(又称处理器,以下简称CPU)、存储在存储器801上并可在处理器802上运行的计算机程序、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU802和所述存储器801设置在所述电路板上;所述电源电路,用于为所述终端的各个电路或器件供电;所述存储器801,用于存储可执行程序代码;所述CPU802通过读取所述存储器801中存储的可执行程序代码来运行与所述可执行程序代码对应的程序。
所述终端还包括:外设接口803、RF(Radio Frequency,射频)电路805、音频电路806、扬声器811、电源管理芯片808、输入/输出(I/O)子系统809、触摸屏812、其他输入/控制设备810以及外部端口804,这些部件通过一个或多个通信总线或信号线807来通信。
应该理解的是,图示终端设备800仅仅是终端的一个范例,并且终端设备800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于一种终端设备进行详细的描述,该终端设备以智能手机为例。
存储器801,所述存储器801可以被CPU802、外设接口803等访问,所述存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口803,所述外设接口803可以将设备的输入和输出外设连接到CPU802和存储器801。
I/O子系统809,所述I/O子系统809可以将设备上的输入输出外设,例如触摸屏812和其他输入/控制设备810,连接到外设接口803。I/O子系统809可以包括显示控制器8091和用于控制其他输入/控制设备810的一个或多个输入控制器8092。其中,一个或多个输入控制器8092从其他输入/控制设备810接收电信号或者向其他输入/控制设备810发送电信号,其他输入/控制设备810可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器8092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
其中,按照触摸屏的工作原理和传输信息的介质分类,触摸屏812可以为电阻式、电容感应式、红外线式或表面声波式。按照安装方式分类,触摸屏812可以为:外挂式、内置式或整体式。按照技术原理分类,触摸屏812可以为:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏或表面声波技术触摸屏。
触摸屏812,所述触摸屏812是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。可选的,触摸屏812将用户在触屏幕上触发的电信号(如接触面的电信号),发送给处理器802。
I/O子系统809中的显示控制器8091从触摸屏812接收电信号或者向触摸屏812发送电信号。触摸屏812检测触摸屏上的接触,显示控制器8091将检测到的接触转换为与显示在触摸屏812上的用户界面对象的交互,即实现人机交互,显示在触摸屏812上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路805,主要用于建立智能音箱与无线网络(即网络侧)的通信,实现智能音箱与无线网络的数据接收和发送。例如收发短信息、电子邮件等。
音频电路806,主要用于从外设接口803接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器811。
扬声器811,用于将智能音箱通过RF电路805从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片808,用于为CPU802、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
在本实施例中,中央处理器802用于:
当接收到空闲消息时,获取停止队列中的活动对象;
从所述活动对象中查找处于清除状态且具有无历史属性的第一活动对象;
判断所述第一活动对象对应的目标应用界面是否可见;
如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列。
进一步的,所述如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列,包括:
如果所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列;
在首次将所述第一活动对象放回至所述停止队列时启动累计计数,得到计数结果,所述计数结果包括所述第一活动对象被放回至所述停止队列的次数;
判断所述计数结果是否大于预设次数;
如果所述计数结果大于预设次数,则销毁所述第一活动对象;
如果所述计数结果小于预设次数,则将所述第一活动对象放回至所述停止队列。
进一步的,所述如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列,包括:
如果所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列;
在首次将所述第一活动对象放回至所述停止队列时启动计时,得到计时结果,所述计时结果包括所述第一活动对象首次被放回至所述停止队列开始的累计时长;
判断所述计时结果是否大于预设时间阈值;
如果所述计时结果大于预设时间阈值,则销毁所述第一活动对象;
如果所述计时结果小于预设时间阈值,则将所述第一活动对象放回至所述停止队列。
进一步的,所述当接收到空闲消息时,获取停止队列中的活动对象,包括:
当用户启动预设应用时,显示加密界面;
如果接收到用户触发的空闲消息,则将所述加密界面对应的第二活动对象添加到所述停止队列,为所述第二活动对象配置清除状态并设置无历史属性;
获取停止队列中的活动对象。
进一步的,所述接收到用户触发的空闲消息,包括:
接收到用户通过启示键输入的空闲消息。
进一步的,所述将所述第一活动对象方放回至所述停止队列,包括:
将所述第一活动对象在所述停止队列之外进行缓存;
对所述停止队列中的活动对象进行销毁处理;
当所述销毁处理完毕时,将所述第一活动对象放回至所述停止队列。
进一步的,所述判断所述第一活动对象对应的目标应用界面是否可见之后,还包括:
如果所述目标应用界面可见,则判断所述目标应用界面是否成功加载;
如果所述目标应用界面成功加载,则销毁所述第一活动对象。
本申请实施例还提供一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行一种活动对象处理方法,该方法包括:
当接收到空闲消息时,获取停止队列中的活动对象;
从所述活动对象中查找处于清除状态且具有无历史属性的第一活动对象;
判断所述第一活动对象对应的目标应用界面是否可见;
如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列。
进一步的,所述如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列,包括:
如果所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列;
在首次将所述第一活动对象放回至所述停止队列时启动累计计数,得到计数结果,所述计数结果包括所述第一活动对象被放回至所述停止队列的次数;
判断所述计数结果是否大于预设次数;
如果所述计数结果大于预设次数,则销毁所述第一活动对象;
如果所述计数结果小于预设次数,则将所述第一活动对象放回至所述停止队列。
进一步的,所述如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列,包括:
如果所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列;
在首次将所述第一活动对象放回至所述停止队列时启动计时,得到计时结果,所述计时结果包括所述第一活动对象首次被放回至所述停止队列开始的累计时长;
判断所述计时结果是否大于预设时间阈值;
如果所述计时结果大于预设时间阈值,则销毁所述第一活动对象;
如果所述计时结果小于预设时间阈值,则将所述第一活动对象放回至所述停止队列。
进一步的,所述当接收到空闲消息时,获取停止队列中的活动对象,包括:
当用户启动预设应用时,显示加密界面;
如果接收到用户触发的空闲消息,则将所述加密界面对应的第二活动对象添加到所述停止队列,为所述第二活动对象配置清除状态并设置无历史属性;
获取停止队列中的活动对象。
进一步的,所述接收到用户触发的空闲消息,包括:
接收到用户通过启示键输入的空闲消息。
进一步的,所述将所述第一活动对象方放回至所述停止队列,包括:
将所述第一活动对象在所述停止队列之外进行缓存;
对所述停止队列中的活动对象进行销毁处理;
当所述销毁处理完毕时,将所述第一活动对象放回至所述停止队列。
进一步的,所述判断所述第一活动对象对应的目标应用界面是否可见之后,还包括:
如果所述目标应用界面可见,则判断所述目标应用界面是否成功加载;
如果所述目标应用界面成功加载,则销毁所述第一活动对象。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用推荐操作,还可以执行本申请任意实施例所提供的应用推荐方法中的相关操作。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种活动对象处理方法,其特征在于,包括:
当接收到空闲消息时,获取停止队列中的活动对象,其中,所述空闲消息中携带活动对象标识、活动对象调整到的状态以及活动对象销毁后下一个启动的应用;
从所述活动对象中查找处于清除状态且具有无历史属性的第一活动对象;
判断所述第一活动对象对应的目标应用界面是否可见,其中,所述目标应用界面为所述下一个启动应用的应用界面;
如果所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列直至接收到下一所述空闲消息,对所述第一活动对象进行销毁操作。
2.根据权利要求1所述的活动对象处理方法,其特征在于,所述如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列,包括:
如果所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列;
在首次将所述第一活动对象放回至所述停止队列时启动累计计数,得到计数结果,所述计数结果包括所述第一活动对象被放回至所述停止队列的次数;
判断所述计数结果是否大于预设次数;
如果所述计数结果大于预设次数,则销毁所述第一活动对象;
如果所述计数结果小于预设次数,则将所述第一活动对象放回至所述停止队列。
3.根据权利要求1所述的活动对象处理方法,其特征在于,所述如果所述目标应用界面不可见,则将所述第一活动对象方放回至所述停止队列,包括:
如果所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列;
在首次将所述第一活动对象放回至所述停止队列时启动计时,得到计时结果,所述计时结果包括所述第一活动对象首次被放回至所述停止队列开始的累计时长;
判断所述计时结果是否大于预设时间阈值;
如果所述计时结果大于预设时间阈值,则销毁所述第一活动对象;
如果所述计时结果小于预设时间阈值,则将所述第一活动对象放回至所述停止队列。
4.根据权利要求1所述的活动对象处理方法,其特征在于,所述当接收到空闲消息时,获取停止队列中的活动对象,包括:
当用户启动预设应用时,显示加密界面;
如果接收到用户触发的空闲消息,则将所述加密界面对应的第二活动对象添加到所述停止队列,为所述第二活动对象配置清除状态并设置无历史属性;
获取停止队列中的活动对象。
5.根据权利要求4所述的活动对象处理方法,其特征在于,所述接收到用户触发的空闲消息,包括:
接收到用户通过启示键输入的空闲消息。
6.根据权利要求1所述的活动对象处理方法,其特征在于,所述将所述第一活动对象方放回至所述停止队列,包括:
将所述第一活动对象在所述停止队列之外进行缓存;
对所述停止队列中的活动对象进行销毁处理;
当所述销毁处理完毕时,将所述第一活动对象放回至所述停止队列。
7.根据权利要求1所述的活动对象处理方法,其特征在于,所述判断所述第一活动对象对应的目标应用界面是否可见之后,还包括:
如果所述目标应用界面可见,则判断所述目标应用界面是否成功加载;
如果所述目标应用界面成功加载,则销毁所述第一活动对象。
8.一种活动对象处理装置,其特征在于,包括:
获取模块,用于当接收到空闲消息时,获取停止队列中的活动对象,其中,所述空闲消息中携带活动对象标识、活动对象调整到的状态以及活动对象销毁后下一个启动的应用;
查找模块,用于从所述获取模块 接收的所述活动对象中查找处于清除状态且具有无历史属性的第一活动对象;
判断模块,用于判断所述查找模块查找的所述第一活动对象对应的目标应用界面是否可见,其中,所述目标应用界面为所述下一个启动应用的应用界面;
队列处理模块,用于如果所述判断模块判定所述目标应用界面不可见,则将所述第一活动对象放回至所述停止队列直至接收到下一所述空闲消息,对所述第一活动对象进行销毁操作。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的活动对象处理方法。
10.一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一所述的活动对象处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810386961.9A CN108595281B (zh) | 2018-04-26 | 2018-04-26 | 活动对象处理方法、装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810386961.9A CN108595281B (zh) | 2018-04-26 | 2018-04-26 | 活动对象处理方法、装置、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108595281A CN108595281A (zh) | 2018-09-28 |
CN108595281B true CN108595281B (zh) | 2021-09-07 |
Family
ID=63610375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810386961.9A Active CN108595281B (zh) | 2018-04-26 | 2018-04-26 | 活动对象处理方法、装置、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595281B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101416065B1 (ko) * | 2012-09-06 | 2014-07-07 | 주식회사 퓨전소프트 | 안드로이드 어플리케이션의 액티비티 기반 상태도 생성방법 |
CN103617078A (zh) * | 2013-11-22 | 2014-03-05 | 北京奇虎科技有限公司 | 活动组件的管理方法及装置 |
CN104461242B (zh) * | 2014-12-08 | 2017-12-01 | 深圳市嘉乐派科技有限公司 | 一种基于Android操作系统的多窗口界面实现方法 |
EP3232308B1 (en) * | 2015-01-04 | 2020-09-30 | Huawei Technologies Co. Ltd. | Notification information processing method, device, and terminal |
CN106445514B (zh) * | 2016-09-13 | 2020-01-03 | Tcl集团股份有限公司 | 一种管理Android平台的Activity实例的方法和装置 |
CN106598572B (zh) * | 2016-11-17 | 2018-08-03 | 武汉斗鱼网络科技有限公司 | 一种应用的退出方法及装置 |
CN106886413A (zh) * | 2017-02-21 | 2017-06-23 | 腾讯科技(深圳)有限公司 | 一种界面元素Activity的处理方法以及终端 |
-
2018
- 2018-04-26 CN CN201810386961.9A patent/CN108595281B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108595281A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115357178B (zh) | 一种应用于投屏场景的控制方法以及相关设备 | |
CN108363593B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
WO2018103484A1 (zh) | 直播页面的数据处理方法、装置和系统 | |
EP3575961B1 (en) | Method and apparatus for updating application prediction model, storage medium, and terminal | |
CN107734616B (zh) | 应用程序关闭方法、装置、存储介质和电子设备 | |
CN107844342B (zh) | 应用程序保活的管控方法、装置及存储介质和移动终端 | |
CN108804153B (zh) | 应用程序的预加载方法、装置、存储介质及终端 | |
CN107783803B (zh) | 智能终端的系统优化方法、装置、存储介质及智能终端 | |
CN106951335B (zh) | 一种进程守护方法和移动终端 | |
CN109992315B (zh) | 触摸屏控制方法、装置、终端及存储介质 | |
US10474507B2 (en) | Terminal application process management method and apparatus | |
US11138956B2 (en) | Method for controlling display of terminal, storage medium, and electronic device | |
CN111596971B (zh) | 应用清理方法、装置、存储介质及电子设备 | |
CN107844341B (zh) | 进程启动的管控方法、装置及存储介质和移动终端 | |
CN110222288B (zh) | 页面展示方法、装置及存储介质 | |
CN106713608B (zh) | 应用的功能状态修改方法、装置及终端 | |
CN108090345B (zh) | linux系统外部命令执行方法及装置 | |
CN106937258B (zh) | 一种广播的控制方法、装置及移动终端 | |
WO2019019194A1 (zh) | 应用管理方法及终端 | |
CN113504859A (zh) | 传输方法和装置 | |
CN111273955B (zh) | 热修复插件优化方法、装置、存储介质及电子设备 | |
CN111104180A (zh) | 应用程序优化方法、装置、存储介质及电子设备 | |
WO2019080738A1 (zh) | 游戏应用程序控制方法及设备 | |
CN108011860B (zh) | 一种处理广播消息的方法、装置及终端 | |
WO2018161589A1 (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 |