CN108132735B - 终端与应用控制方法 - Google Patents
终端与应用控制方法 Download PDFInfo
- Publication number
- CN108132735B CN108132735B CN201611080506.3A CN201611080506A CN108132735B CN 108132735 B CN108132735 B CN 108132735B CN 201611080506 A CN201611080506 A CN 201611080506A CN 108132735 B CN108132735 B CN 108132735B
- Authority
- CN
- China
- Prior art keywords
- application
- state
- identifier
- user interface
- processes
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- 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
Abstract
本发明公开了一种终端与应用控制方法,所述终端包括:图标更新单元,用于在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识;状态控制单元,用于用于在其中一个状态转换标识上检测到触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态。本发明有效地解决了现有技术中在后台驻留的应用的状态切换复杂的问题,提高了用户体验。
Description
技术领域
本发明涉及终端应用技术领域,特别是涉及一种终端与应用控制方法。
背景技术
目前,智能终端(例如手机)已经在用户的日常生活中被广泛使用。随着应用的不断升级,越来越多的大型应用被安装到智能终端上。
由于智能终端硬件性能的不断提高,用户越来越喜欢处理和并发多种应用,随着用户不断的切换应用,应用在后台运行的可能性越来越大,这些无疑损耗着用户最宝贵的资源(包括CPU和内存等),给用户造成困扰和不便。
现有技术中解决该问题的处理方式是:在移动终端中提供一个后台程序运行显示界面,当用户需要知晓有哪些应用在后台运行时,需要用户按照智能终端中定义的触发该显示界面的方式,触发该显示界面显示,在该显示界面上查看后台运行的应用,然后才能进一步清理不必要的应用。因此,现有处理方式过于繁琐,影响用户体验。
发明内容
为了克服上述现有技术的缺陷,本发明要解决的技术问题是提供一种终端与应用控制方法,用以解决现有技术中在后台驻留的应用的状态切换复杂的问题。
为解决上述技术问题,本发明中的一种终端,包括:
图标更新单元,用于在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识;
状态控制单元,用于在其中一个状态转换标识上检测到触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态。
可选地,所述应用的运行状态包括应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态;
所述终端还包括:
状态检测单元,用于获取所述应用的当前进程状态;
基于预先建立的归一化对应关系,确定出与所述应用的当前进程状态对应的所述应用的运行状态;所述归一化对应关系为应用的进程状态和应用的运行状态的对应关系。
具体地,所述状态检测单元,还用于将应用的一个进程获得用户界面总线控制权的状态、应用的所有进程被置为暂停的状态、应用的所有进程被置为停止的状态和占用内存空间的应用线程被回收的状态分别与应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态建立对应关系。
可选地,所述终端还包括:
操作确定单元,用于确定与所述应用的当前运行状态对应的至少一种预设状态转换操作方式;
获取与确定的各状态转换操作方式对应预设的状态转换标识。
具体地,所述图标更新单元包括:
监听模块,用于在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的用户界面截图;
更新模块,用于根据所述用户界面截图和获取的各状态转换标识更新所述应用的应用图标,以使在更新后的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识和全部或部分用户界面截图。
具体地,所述监听模块包括:
监听子模块,用于监听与应用启动、应用暂停和应用结束相关的事件信息;
记录子模块,用于至少记录每个事件信息对应的应用标识、进程标识和进程状态,并保存每个事件信息对应进程的用户界面截图;
获取子模块,用于在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的事件信息;
提取子模块,用于提取获取的事件信息对应的进程状态和用户界面截图。
具体地,所述获取子模块,具体用于当记录的一事件信息对应的应用标识与所述应用的应用标识不同时,判定所述应用的所有进程均失去用户界面总线控制权,并将此时对应的所述应用的进程作为所述应用的当前进程;
获取所述应用的所有进程均失去用户界面总线控制权时的前一个记录的事件信息。
可选地,所述状态转换标识包括调用应用处于运行状态的标识、调用应用处于暂停状态的标识、调用应用处于停止状态的标识和调用应用处于销毁状态的标识。
具体地,所述状态控制单元,具体用于在所述调用应用处于运行状态的标识上检测到触发操作,使所述应用的当前进程获得用户界面总线控制权;或者,
在所述调用应用处于暂停状态的标识上检测到触发操作,将所述应用的所有进程置为暂停状态;或者,
在所述调用应用处于停止状态的标识上检测到触发操作,将所述应用的所有进程置为停止状态;或者,
在所述调用应用处于销毁状态的标识上检测到触发操作,回收所述应用的线程占用的内存空间。
为解决上述技术问题,本发明中的一种应用控制方法,所述方法包括:
在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识;
在其中一个状态转换标识上检测到触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态。
可选地,所述应用的运行状态包括应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态;
所述在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识的步骤之前,还包括:
获取所述应用的当前进程状态;
基于预先建立的归一化对应关系,确定出与所述应用的当前进程状态对应的所述应用的运行状态;所述归一化对应关系为应用的进程状态和应用的运行状态的对应关系。
具体地,预先建立归一化对应关系的步骤,包括:
将应用的一个进程获得用户界面总线控制权的状态、应用的所有进程被置为暂停的状态、应用的所有进程被置为停止的状态和占用内存空间的应用线程被回收的状态分别与应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态建立对应关系。
可选地,所述在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识的步骤之前,还包括:
确定与所述应用的当前运行状态对应的至少一种预设状态转换操作方式;
获取与确定的各状态转换操作方式对应预设的状态转换标识。
具体地,所述在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识的步骤,包括:
在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的用户界面截图;
根据所述用户界面截图和获取的各状态转换标识更新所述应用的应用图标,以使在更新后的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识和全部或部分用户界面截图。
具体地,所述在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的用户界面截图的步骤,包括:
监听与应用启动、应用暂停和应用结束相关的事件信息;
至少记录每个事件信息对应的应用标识、进程标识和进程状态,并保存每个事件信息对应进程的用户界面截图;
在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的事件信息;
提取获取的事件信息对应的用户界面截图。
具体地,所述在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的事件信息的步骤,包括:
当记录的一事件信息对应的应用标识与所述应用的应用标识不同时,判定所述应用的所有进程均失去用户界面总线控制权,并将此时对应的所述应用的进程作为所述应用的当前进程;
获取所述应用的所有进程均失去用户界面总线控制权时的前一个记录的事件信息。
可选地,所述状态转换标识包括调用应用处于运行状态的标识、调用应用处于暂停状态的标识、调用应用处于停止状态的标识和调用应用处于销毁状态的标识。
具体地,所述在其中一个状态转换标识上检测到触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态的步骤,包括:
在所述调用应用处于运行状态的标识上检测到触发操作,使所述应用的当前进程获得用户界面总线控制权;或者,
在所述调用应用处于暂停状态的标识上检测到触发操作,将所述应用的所有进程置为暂停状态;或者,
在所述调用应用处于停止状态的标识上检测到触发操作,将所述应用的所有进程置为停止状态;或者,
在所述调用应用处于销毁状态的标识上检测到触发操作,回收所述应用的线程占用的内存空间。
本发明有益效果如下:
本发明中终端及应用控制方法通过在应用的应用图标空间区域设置一种或多种状态转换标识,当在其中一个状态转换标识上检测到用户的触发操作时,按照该状态转换标识对应的预设状态转换操作方式控制所述应用的运行状态,从而使用户仅通过应用图标就可以随时掌握应用驻留的状态,并根据应用驻留的状态进行平滑快捷的应用状态切换控制,有效解决了现有技术中在后台驻留的应用的状态切换复杂的问题,提高了用户体验。
附图说明
图1是本发明实施例中一种终端的硬件结构示意图;
图2是本发明实施例中运行状态转换示意图;
图3是本发明实施例中效果示意图;
图4是本发明实施例中一种应用控制方法的流程图。
具体实施方式
为了解决现有技术中在后台驻留的应用的状态切换复杂的问题,本发明提供了一种终端与应用控制方法,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。
如图1所示,本发明第一实施例提供一种终端,所述终端包括:
图标更新单元110,用于在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识;
状态控制单元120,用于在其中一个状态转换标识上检测到触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态。
本发明实施例中终端通过在应用的应用图标空间区域设置一种、二种或多种状态转换标识(简称标识),当在其中一个状态转换标识上检测到用户的触发操作时,按照该状态转换标识对应的预设状态转换操作方式控制所述应用的运行状态,从而使用户仅通过应用图标就可以随时掌握应用驻留的状态,并根据应用驻留的状态进行平滑快捷的应用状态切换控制,有效解决了现有技术中在后台驻留的应用的状态切换复杂的问题,提高了用户体验。
比如,用户查看到当前的状态为暂停态,那么可以选择单击相应状态转换标识进行应用直接调度用户界面到前台;如果当前的状态为结束态,那么单击可以进行内存清理等。
在上述实施例的基础上,进一步提出上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
在本发明的一个实施例中,所述应用的运行状态包括应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态。
进一步说,所述终端还包括:
状态检测单元,用于获取所述应用的当前进程状态;
基于预先建立的归一化对应关系,确定出与所述应用的当前进程状态对应的所述应用的运行状态;所述归一化对应关系为应用的进程状态和应用的运行状态的对应关系。
具体说,Android定义的进程状态多达10几种,一个应用在运行时候,可能会生成多种个进程,比如微信应用,可能包括coversation进程、push进程等,而与某个人聊天的时候,聊天进程被调度到前台。当然,微信应用也理所当然现在是分配了UI资源,属于前台显示的应用。
本发明实施例中把进程的状态归一化为应用的状态,是为了简化进程的复杂流程,从而行程新的应用状态自动机。在此,明确下应用状态标识符及其定义。
应用处于运行状态(Running):即应用的前台显示状态,具体的是应用的最后一次被调度到前台的进程重新获得UI总线控制权的状态。具体的实现,可以使用android自身定义的命令,或者intent消息。
应用处于暂停状态(Pause):即应用的后台保持状态,具体的是应用的所有进程被置为onpause,包括可能存在的数据连接访问进程。
应用处于停止状态(Stop):即应用的后台停止状态,此种状态与暂停状态还有稍许不同,此种状态下可能会释放一些高消耗内存的资源(与销毁状态的差异在于,应用的进程所涉及到的对象可能会被重新赋值或为空,但保留内存申请),比如媒体播放的编解码进程,同样的,是应用的所有进程被置为onstop。
应用处于销毁状态(Release):即应用涉及到的线程所申请的变量和对象的内存控件被GC强制回收的状态。此时如果有其他进程申请内存,那么这部分空间就可用了。
在android系统中,所有的进程是由activitymanager以队列的来调度管理的,一般来说队列顶端的具有优先调度的资源的权利,而在屏幕触碰操作情况下,UI进程在一般排在第一位,其他的进程按照用户的操作先后即activitymanger的调度顺序分时复用UI进程所生成的资源,达到各个应用包括进程和菜单在UI上的显示和回调。
进一步说,所述状态检测单元,还用于将应用的一个进程获得用户界面总线控制权的状态、应用的所有进程被置为暂停的状态、应用的所有进程被置为停止的状态和占用内存空间的应用线程被回收的状态分别与应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态建立对应关系。
在本发明的另一个实施例中,所述终端还包括:
操作确定单元,用于确定与所述应用的当前运行状态对应的至少一种预设状态转换操作方式;
获取与确定的各状态转换操作方式对应预设的状态转换标识。
如图2所示,当前运行状态为Pause,则对应的状态转换操作方式包括Running、Stop和Release。
进一步说,所述图标更新单元包括:
监听模块,用于在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的用户界面截图;
更新模块,用于根据所述用户界面截图和获取的各状态转换标识更新所述应用的应用图标,以使在更新后的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识和全部或部分用户界面截图。
本发明实施例进一步通过将应用的应用图标更新成包含用户界面截图,使应用图标可以清楚的显示出应用从前台切换到后台时用户界面,从而可以使用户无需额外操作即可知晓应用在驻留在哪个用户界面,处于什么位置,从而进一步提高用户体验。
进一步说,所述监听模块包括:
监听子模块,用于监听与应用启动、应用暂停和应用结束相关的事件信息;
记录子模块,用于至少记录每个事件信息对应的应用标识(例如应用的包名)、进程标识和进程状态,并保存每个事件信息对应进程的用户界面截图;其中,截图可以采用完全屏幕截图的方式,也可以选择屏幕的某个界面或控件截图。
获取子模块,用于在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的事件信息;
提取子模块,用于提取获取的事件信息对应的进程状态和用户界面截图。
具体说,所述获取子模块,具体用于当记录的一事件信息对应的应用标识与所述应用的应用标识不同时,判定所述应用的所有进程均失去用户界面总线控制权,并将此时对应的所述应用的进程作为所述应用的当前进程;
获取所述应用的所有进程均失去用户界面总线控制权时的前一个记录的事件信息。
当然,监听子模块可以直接访问或者跟踪activity相关进程内存区来判断进程的状态,直接的,访问android的activitymanager来获取状态信息。可以将应用的名称进行转换,比如名称加某个状态这样的命名方式。可以采用实时侦听的方式,也可以采用定时周期轮询的方式。
在本发明的又一个实施例中,所述状态转换标识包括调用应用处于运行状态的标识、调用应用处于暂停状态的标识、调用应用处于停止状态的标识和调用应用处于销毁状态的标识。
进一步说,所述状态控制单元,具体用于在所述调用应用处于运行状态的标识上检测到触发操作,使所述应用的当前进程获得用户界面总线控制权;或者,
在所述调用应用处于暂停状态的标识上检测到触发操作,将所述应用的所有进程置为暂停状态;或者,
在所述调用应用处于停止状态的标识上检测到触发操作,将所述应用的所有进程置为停止状态;或者,
在所述调用应用处于销毁状态的标识上检测到触发操作,回收所述应用的线程占用的内存空间。
再进一步说,各状态转换操作方式对应的状态转换标识可以采用标识的形式。当然标识也可以不用映射到图标的显示上,直接采用双击或者单击来区别不同的状态转换,或者给出单击图标的状态机转换,在不同的状态之间流转即可。
按照谷歌对android的进程的生命周期进行如下定义:
进程状态包括:Oncreate/Onstart/Onresume/Onrestart、Onpause、Onstop和Ondestroy等等。
将谷歌定义的进程状态应用归一化,及每个进程状态对应的标识如下表所示:
应用的各运行状态之间的状态切换如图2所示,其中图中箭头的指示方向表示各状态之间可以切换。
也就是说,本发明实施例中监听模块主要完成对终端(例如手机、平板灯)当前前台进程的状态的侦听和信息搜集,记录当前进程名、应用名、进程状态的变化。
状态控制单元主要根据当前的可用状态操作,完成进程状态的切换,一般来说在android和IOS系统中,可用状态操作有暂停、运行、停止。
图标更新单元主要负责进程状态监听模块传递的进程状态,来判断进程是否发生变化,从而依据进程状态机的运行状态来完成对截图进行状态灌注、对应用图标更新等操作。
详细说,进程状态监听模块(简称监听模块)监听APP的启动、运行、暂停、结束的相关事件,包括不仅限于用户的相关launcher的点击应用图标操作、在应用启动后在应用内容的不同activity窗口切换/滑动/点击操作、其他高优先级进程抢占事件、用户点击home/back/menu/电源键后的响应事件、系统自身的GC回收事件、应用自身的异常崩溃、退出事件等。
当有新的事件产生,监听模块生成1条事件记录,记录的内容包括但不仅限于该当前用户界面归属应用的app name、当前界面的activity的名字,及activity的状态,前后台标志位等,并获取当前屏幕截图。
监听模块对比前后两条记录的app name是否相同。
如果相同,则继续进行监听。
如果不同,那么将前一个记录的信息和截图发送给应用图标更新单元(简称图标更新单元或更新单元)、状态控制单元(简称控制单元),发送的方式包括不仅限于使用直接的事件定向传递、广播传递、管道方式。
控制单元接收到相关信息后,生成或计算出相应的应用状态标识或通用标志位,并接管对相应进程的控制权,接管的方式包括但不仅限于授权申请、签名注入等。并将应用的通用状态信息传递给更新单元。
图标更新单元根据记录中的截图和应用的通配信息,重新生成图标,该图标即包括应用的上一次驻留前台的截图,又包括最新的应用通用状态,具体的绘图方式可以采用嵌入式,也可以采用浮现、借位等,并更UI界面上的应用图标。
此时,用户可以根据该应用图标进行相应的快捷操作,比如查看到当前的状态为暂停态,那么可以选择单击进行应用直接调度活动界面到前台,如果是结束态,那么单击可以进行内存清理等。此时,监听模块会继续工作,并进行新的事件监听。
以android为例,通过对用户常见的社交类应用的具体方案的实现,来说明本发明实施例终端的控制原理。设想的应用场景如下:用户在使用应用A一段时间后,按home键返回到待机。此后用户再次观察应用A的图标更新,并选择对图标的相应操作。
假设A应用的包名为com.aaa.bbb.ppp,应用名称为ppp,且A的主activity的名字为mainActivity,其他界面的activity名字分别为other1Activity,other2Activity,other3Activity……,并且每个activity对应一个UI(User Interface,用户界面)界面。
大概定义的记录内容格式为{activity NAME,APP NAME,activity STATUS,ON/OFF STATUS,event TYPE},格式字段包括不仅限于以上字段,具体根据程序处理需要界定。
控制流程包括:
1.系统开机后,监听模块启动监听动作,驻扎系统内存;
2.用户点击A应用图标,进入到A的主界面mainActivity,此时监听模块生成1条记录,记录的格式如下:
{mainActivity,ppp,onStart,Y,click}
该条记录表明当前的activity名称是mainActivity,mainActivity的归属的应用名为ppp,mainActivity的当前状态是onStart,Y代表mainActivity的是调度到了前台用户界面。Click代表当前监听到的事件是单击事件。其中,获取这些进程的状态信息可以通过读取ActivityManager的打印状态或变量,也可以直接访问activity的队列。
与此同时,生成当前mainActivity的界面截图,保存并命名为mainPic.png,保存的位置可以是手机的实体存储位置,也可以是虚拟存储位置,包括不仅限于ram和rom等可用存储空间。
3.随后,用户点击mainActivity上用户界面的某个菜单或图标,跳转到other1Activity所对应的界面,监听模块生成第2条记录,记录的内容如下:
{other1Activity,ppp,onStart,Y,click},
并更新第1条记录的内容为{mainActivity,ppp,onPause,N,click},其中N标识mainActivity已经转为后台,onPause表明mainActivity已经由运行态转为暂停态(android的机制,也可以维持onStart,具体应用类型、activity的生命周期不同状态可能有差别,详情参考android的进程状态自动机)。
同时,获取当前other1Activity的界面截图,保存并命名为pic1.png。
4.而此时监听模块比对两条记录,对比记录的APP NAME字段后发现前后两个字段内容一样,那么说明现在是处在应用界面,因此监听模块继续进入监听状态。
5.依次类推,用户在该应用对应的不同activity界面进行访问或浏览,而最新的1条记录是{other3Activity,ppp,onStart,Y,longClick},对应的截图为pic3.png。
6.直到用户点击了home按键,监听器简单判断是否回到了待机界面(android的待机界面也有对应的包名,例如:com.android.launcher等),后将该事件写入1条新增记录:
{launcher,systemUI,N/A,Y,HOME},证明用户当前正常回到了待机界面。
7.此刻监听模块判断前后两个包名不一样,那么便启动数据传送流程,并将前面的记录{other3Activity,ppp,onPause,N}(注意此处的状态),对应的截图为pic3.png,传递给控制单元、图标更新单元。
8.控制单元,根据接收到的记录状态字段onPause,计算得到该进程的通用标志位S(可以为应用归一化状态的英文首字母),和标识O、×,具体的计算规则参考表1。
同时,申请对应用ppp的控制,获得授权后将标识发送给图标更新单元。
9.更新单元收到控制单元传递的标识△、O、×和监听模块发来的截图pic3.png后,启动图形绘制方法,组合成附着标识控制按钮的图标pic3_S.jpg,并将其应用到应用A为最新的图标。更新完成后,向控制单元传递更新成功回执消息。
图形绘制组合属于业界常用技术,属于图像处理范畴。
10.此时用户如果查看应用A的图标,就可以看到A的图标已经发生了更新,效果图如图3所示。
11.随后,用户可以选择通过单击图标上的标识来进行对应用的快速处理,具体的可处理的方式,根据标识所定义的有限状态自动机,如图2所示。按照上面的提示,目前应用A的图标的标识是O、×。
12.假设用户选择了标识O(s top按钮),那么监听模块监听到此点击事件。
并生成1条记录{launcher,systemUI,N/A,Y,special_click_s},并判断该事件为特殊点击(定义将所有的图标点击状态的按钮定义为特殊点击),并将此继续直接传递给控制单元。
13.控制单元抽取此特殊信息的记录的关键字,通过关键词来确定此点击是个stop点击按钮时间,那么将终止该应用的所有进程状态为stop,并将其应用图标更新为mainActivity的截图。具体更新成什么,程序自行定义。
14.同样的,如果用户选择点击了标识×(release按钮),那么控制单元将通知android自身的activitymanager强行释放该应用所有进程的内存空间,并通知图标更新单元更新应用图标为原始的图标。
基于上述各实施例的终端,本发明进一步提出一种应用控制方法。
如图4所示,本发明实施中一种应用控制方法包括步骤:
S401,在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识;
S402,在其中一个状态转换标识上检测到用户的触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态。
本发明实施例中终端通过在应用的应用图标空间区域设置一种或多种状态转换标识,当在其中一个状态转换标识上检测到用户的触发操作时,按照该状态转换标识对应的预设状态转换操作方式控制所述应用的运行状态,从而使用户仅通过应用图标就可以随时掌握应用驻留的状态,并根据应用驻留的状态进行平滑快捷的应用状态切换控制,有效解决了现有技术中在后台驻留的应用的状态切换复杂的问题,提高了用户体验。
在本发明的一个实施例中,所述应用的运行状态包括应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态;
所述在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识的步骤之前,还包括:
获取所述应用的当前进程状态;
基于预先建立的归一化对应关系,确定出与所述应用的当前进程状态对应的所述应用的运行状态;所述归一化对应关系为应用的进程状态和应用的运行状态的对应关系。
其中,预先建立归一化对应关系的步骤,包括:
将应用的一个进程获得用户界面总线控制权的状态、应用的所有进程被置为暂停的状态、应用的所有进程被置为停止的状态和占用内存空间的应用线程被回收的状态分别与应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态建立对应关系。
在本发明的一个实施例中,所述在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识的步骤之前,还包括:
确定与所述应用的当前运行状态对应的至少一种预设状态转换操作方式;
获取与确定的各状态转换操作方式对应预设的状态转换标识。
进一步说,所述在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识的步骤的步骤,包括:
在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的用户界面截图;
根据所述用户界面截图和获取的各状态转换标识更新所述应用的应用图标,以使在更新后的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识和全部或部分用户界面截图。
本发明实施例进一步通过将应用的应用图标更新成包含用户界面截图,使应用图标可以清楚的显示出应用从前台切换到后台时用户界面,从而可以使用户无需额外操作即可知晓应用在驻留在哪个用户界面,处于什么位置,从而进一步提高用户体验。
进一步说,所述在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的用户界面截图的步骤,包括:
监听与应用启动、应用暂停和应用结束相关的事件信息;
至少记录每个事件信息对应的应用标识、进程标识和进程状态,并保存每个事件信息对应进程的用户界面截图;
在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的事件信息;
提取获取的事件信息对应的进程状态和用户界面截图。
再进一步说,所述在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的事件信息的步骤,包括:
当记录的一事件信息对应的应用标识与所述应用的应用标识不同时,判定所述应用的所有进程均失去用户界面总线控制权,并将此时对应的所述应用的进程作为所述应用的当前进程;
获取所述应用的所有进程均失去用户界面总线控制权时的前一个记录的事件信息。
在本发明的又一个实施例中,所述状态转换标识包括调用应用处于运行状态的标识、调用应用处于暂停状态的标识、调用应用处于停止状态的标识和调用应用处于销毁状态的标识。
其中,所述在其中一个状态转换标识上检测到触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态的步骤,包括:
在所述调用应用处于运行状态的标识上检测到触发操作,使所述应用的当前进程获得用户界面总线控制权;或者,
在所述调用应用处于暂停状态的标识上检测到触发操作,将所述应用的所有进程置为暂停状态;或者,
在所述调用应用处于停止状态的标识上检测到触发操作,将所述应用的所有进程置为停止状态;或者,
在所述调用应用处于销毁状态的标识上检测到触发操作,回收所述应用的线程占用的内存空间。
结合本申请所公开示例描述的应用控制方法,可直接体现为硬件、由处理器执行的软件模块或者二者结合。例如,图1中所示功能框图中的一个或多个功能框图和/或功能框图的一个和/或多个组合(例如,状态控制单元),既可以对应于计算机程序流程的各个软件模块,亦可以对应于各个硬件模块。这些软件模块,可以分别对应于图4所示的各个步骤。这些硬件模块例如可利用现场可编程门阵列(FPGA)将这些软件模块固化而实现。
软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域已知的任何其他形式的存储介质。可以将一种存储介质藕接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息;或者该存储介质可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路中。该软件模块可以存储在移动终端的存储器中,也可以存储在可插入移动终端的存储卡中。例如,若移动终端采用的是较大容量的MEGA-SIM卡或者大容量的闪存装置,则该软件模块可存储在该MEGA-SIM卡或者大容量的闪存装置中。
针对图1描述的功能框图中的一个或多个和/或功能框图的一个或多个组合(例如,状态控制单元),可以实现为用于执行本申请所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件或者其任意适当组合。针对图1描述的功能框图中的一个或多个和/或功能框图的一个或多个组合,还可以实现为计算机设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP通信结合的一个或多个微处理器或者任何其他这种配置。
虽然本申请描述了本发明的特定示例,但本领域技术人员可以在不脱离本发明概念的基础上设计出来本发明的变型。
另外本发明的方法,不仅可以在移动终端中执行,还可以由PDA、游戏机等多媒体设备执行。
本领域技术人员在本发明技术构思的启发下,在不脱离本发明内容的基础上,还可以对本发明的方法做出各种改进,这仍落在本发明的保护范围之内。
Claims (16)
1.一种终端,其特征在于,所述终端包括:
图标更新单元,用于在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识;
状态控制单元,用于在其中一个状态转换标识上检测到触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态;
所述终端还包括:
状态检测单元,用于获取所述应用的当前进程状态;
基于预先建立的归一化对应关系,确定出与所述应用的当前进程状态对应的所述应用的运行状态;所述归一化对应关系为应用的进程状态和应用的运行状态的对应关系;
所述应用的运行状态包括应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态;
其中,所述运行状态是所述应用的最后一次被调度到前台的进程重新获得UI总线控制权的状态;
所述停止状态为所述应用的后台停止状态,处于所述停止状态下的应用会释放高消耗内存的资源;
所述销毁状态为所述应用涉及到的线程所申请的变量和对象的内存控件被强制回收的状态。
2.如权利要求1所述的终端,其特征在于,所述状态检测单元,还用于将应用的一个进程获得用户界面总线控制权的状态、应用的所有进程被置为暂停的状态、应用的所有进程被置为停止的状态和占用内存空间的应用线程被回收的状态分别与应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态建立对应关系。
3.如权利要求2所述的终端,其特征在于,所述终端还包括:
操作确定单元,用于确定与所述应用的当前运行状态对应的至少一种预设状态转换操作方式;
获取与确定的各状态转换操作方式对应预设的状态转换标识。
4.如权利要求3所述的终端,其特征在于,所述图标更新单元包括:
监听模块,用于在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的用户界面截图;
更新模块,用于根据所述用户界面截图和获取的各状态转换标识更新所述应用的应用图标,以使在更新后的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识和全部或部分用户界面截图。
5.如权利要求4所述的终端,其特征在于,所述监听模块包括:
监听子模块,用于监听与应用启动、应用暂停和应用结束相关的事件信息;
记录子模块,用于至少记录每个事件信息对应的应用标识、进程标识和进程状态,并保存每个事件信息对应进程的用户界面截图;
获取子模块,用于在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的事件信息;
提取子模块,用于提取获取的事件信息对应的进程状态和用户界面截图。
6.如权利要求5所述的终端,其特征在于,所述获取子模块,具体用于当记录的一事件信息对应的应用标识与所述应用的应用标识不同时,判定所述应用的所有进程均失去用户界面总线控制权,并将此时对应的所述应用的进程作为所述应用的当前进程;
获取所述应用的所有进程均失去用户界面总线控制权时的前一个记录的事件信息。
7.如权利要求3所述的终端,其特征在于,所述状态转换标识包括调用应用处于运行状态的标识、调用应用处于暂停状态的标识、调用应用处于停止状态的标识和调用应用处于销毁状态的标识。
8.如权利要求7所述的终端,其特征在于,所述状态控制单元,具体用于在所述调用应用处于运行状态的标识上检测到触发操作,使所述应用的当前进程获得用户界面总线控制权;或者,
在所述调用应用处于暂停状态的标识上检测到触发操作,将所述应用的所有进程置为暂停状态;或者,
在所述调用应用处于停止状态的标识上检测到触发操作,将所述应用的所有进程置为停止状态;或者,
在所述调用应用处于销毁状态的标识上检测到触发操作,回收所述应用的线程占用的内存空间。
9.一种应用控制方法,其特征在于,所述方法包括:
在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识;
在其中一个状态转换标识上检测到触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态;
所述在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识的步骤之前,还包括:
获取所述应用的当前进程状态;
基于预先建立的归一化对应关系,确定出与所述应用的当前进程状态对应的所述应用的运行状态;所述归一化对应关系为应用的进程状态和应用的运行状态的对应关系;
所述应用的运行状态包括应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态;
其中,所述运行状态是所述应用的最后一次被调度到前台的进程重新获得UI总线控制权的状态;
所述停止状态为所述应用的后台停止状态,处于所述停止状态下的应用会释放高消耗内存的资源;
所述销毁状态为所述应用涉及到的线程所申请的变量和对象的内存控件被强制回收的状态。
10.如权利要求9所述的方法,其特征在于,预先建立归一化对应关系的步骤,包括:
将应用的一个进程获得用户界面总线控制权的状态、应用的所有进程被置为暂停的状态、应用的所有进程被置为停止的状态和占用内存空间的应用线程被回收的状态分别与应用处于运行状态、应用处于暂停状态、应用处于停止状态和应用处于销毁状态建立对应关系。
11.如权利要求9所述的方法,其特征在于,所述在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识的步骤之前,还包括:
确定与所述应用的当前运行状态对应的至少一种预设状态转换操作方式;
获取与确定的各状态转换操作方式对应预设的状态转换标识。
12.如权利要求11所述的方法,其特征在于,所述在应用的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识的步骤,包括:
在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的用户界面截图;
根据所述用户界面截图和获取的各状态转换标识更新所述应用的应用图标,以使在更新后的应用图标空间区域显示与所述应用的当前运行状态对应的至少一种状态转换标识和全部或部分用户界面截图。
13.如权利要求12所述的方法,其特征在于,所述在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的用户界面截图的步骤,包括:
监听与应用启动、应用暂停和应用结束相关的事件信息;
至少记录每个事件信息对应的应用标识、进程标识和进程状态,并保存每个事件信息对应进程的用户界面截图;
在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的事件信息;
提取获取的事件信息对应的用户界面截图。
14.如权利要求13所述的方法,其特征在于,所述在所述应用的所有进程均失去用户界面总线控制权前,获取所述应用的当前进程对应的事件信息的步骤,包括:
当记录的一事件信息对应的应用标识与所述应用的应用标识不同时,判定所述应用的所有进程均失去用户界面总线控制权,并将此时对应的所述应用的进程作为所述应用的当前进程;
获取所述应用的所有进程均失去用户界面总线控制权时的前一个记录的事件信息。
15.如权利要求11所述的方法,其特征在于,所述状态转换标识包括调用应用处于运行状态的标识、调用应用处于暂停状态的标识、调用应用处于停止状态的标识和调用应用处于销毁状态的标识。
16.如权利要求15所述的方法,其特征在于,所述在其中一个状态转换标识上检测到触发操作,将所述应用的当前运行状态切换到该状态转换标识对应的运行状态的步骤,包括:
在所述调用应用处于运行状态的标识上检测到触发操作,使所述应用的当前进程获得用户界面总线控制权;或者,
在所述调用应用处于暂停状态的标识上检测到触发操作,将所述应用的所有进程置为暂停状态;或者,
在所述调用应用处于停止状态的标识上检测到触发操作,将所述应用的所有进程置为停止状态;或者,
在所述调用应用处于销毁状态的标识上检测到触发操作,回收所述应用的线程占用的内存空间。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611080506.3A CN108132735B (zh) | 2016-11-30 | 2016-11-30 | 终端与应用控制方法 |
PCT/CN2017/102708 WO2018099163A1 (zh) | 2016-11-30 | 2017-09-21 | 终端与应用控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611080506.3A CN108132735B (zh) | 2016-11-30 | 2016-11-30 | 终端与应用控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108132735A CN108132735A (zh) | 2018-06-08 |
CN108132735B true CN108132735B (zh) | 2023-04-07 |
Family
ID=62242289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611080506.3A Active CN108132735B (zh) | 2016-11-30 | 2016-11-30 | 终端与应用控制方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108132735B (zh) |
WO (1) | WO2018099163A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324865B (zh) * | 2018-10-31 | 2021-09-21 | 四川长虹电器股份有限公司 | 应用图标信息更新显示方法及终端 |
CN110290269A (zh) * | 2019-06-26 | 2019-09-27 | 努比亚技术有限公司 | 显示控制方法、移动终端及计算机可读存储介质 |
CN111142724A (zh) * | 2019-12-24 | 2020-05-12 | 维沃移动通信有限公司 | 一种显示控制方法及电子设备 |
CN111158788B (zh) * | 2019-12-31 | 2023-05-30 | 科大讯飞股份有限公司 | 桌面启动器控制方法、装置及存储介质 |
CN111552616A (zh) * | 2020-04-30 | 2020-08-18 | 汉海信息技术(上海)有限公司 | 一种内存监听方法及装置 |
CN112068605B (zh) * | 2020-07-31 | 2023-12-05 | 河北汉光重工有限责任公司 | 一种二维转台记忆扫描方法 |
CN113392685A (zh) * | 2020-09-22 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、图像识别设备及存储介质 |
CN113590277A (zh) * | 2021-06-25 | 2021-11-02 | 北京旷视科技有限公司 | 任务状态切换方法、装置和电子系统 |
CN114896011B (zh) * | 2022-05-09 | 2023-12-26 | 北京达佳互联信息技术有限公司 | 页面中动态内容的播放方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883184A (zh) * | 2010-06-23 | 2010-11-10 | 中兴通讯股份有限公司 | 在移动终端上控制应用程序显示的方法和移动终端 |
CN102004687A (zh) * | 2010-11-04 | 2011-04-06 | 东莞宇龙通信科技有限公司 | 一种移动终端程序运行状态显示方法及移动终端 |
CN104731689A (zh) * | 2015-03-16 | 2015-06-24 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104991767A (zh) * | 2015-06-15 | 2015-10-21 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201107273D0 (en) * | 2011-04-28 | 2011-06-15 | Inq Entpr Ltd | Application control in electronic devices |
CN104182123A (zh) * | 2014-08-25 | 2014-12-03 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
-
2016
- 2016-11-30 CN CN201611080506.3A patent/CN108132735B/zh active Active
-
2017
- 2017-09-21 WO PCT/CN2017/102708 patent/WO2018099163A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883184A (zh) * | 2010-06-23 | 2010-11-10 | 中兴通讯股份有限公司 | 在移动终端上控制应用程序显示的方法和移动终端 |
CN102004687A (zh) * | 2010-11-04 | 2011-04-06 | 东莞宇龙通信科技有限公司 | 一种移动终端程序运行状态显示方法及移动终端 |
CN104731689A (zh) * | 2015-03-16 | 2015-06-24 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104991767A (zh) * | 2015-06-15 | 2015-10-21 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108132735A (zh) | 2018-06-08 |
WO2018099163A1 (zh) | 2018-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108132735B (zh) | 终端与应用控制方法 | |
US11442747B2 (en) | Method for establishing applications-to-be preloaded prediction model based on preorder usage sequence of foreground application, storage medium, and terminal | |
EP3570163B1 (en) | Method for launching application, storage medium, and terminal | |
WO2019223578A1 (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
WO2019228156A1 (en) | Method and device for preloading application, storage medium and intelligent terminal | |
EP2945058B1 (en) | Processing method and device for application program | |
CN107273130B (zh) | 加速界面绘制的方法、装置和终端 | |
WO2019233241A1 (zh) | 应用程序启动方法、装置、存储介质及终端 | |
CN106445292B (zh) | 应用程序的分身管理方法及系统 | |
CN110377141B (zh) | 应用处理方法、装置、电子设备以及存储介质 | |
CN107783803B (zh) | 智能终端的系统优化方法、装置、存储介质及智能终端 | |
CN106951335B (zh) | 一种进程守护方法和移动终端 | |
CN108762831B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108614655B (zh) | 分屏显示方法、装置、存储介质及电子设备 | |
CN110637282B (zh) | 一种触控方法及终端 | |
US20190034074A1 (en) | Method for recognizing a screen-off gesture, and storage medium and terminal thereof | |
EP3435215B1 (en) | Method, device, storage medium and mobile terminal for recognizing an off-screen gesture | |
CN111796747B (zh) | 多开应用的处理方法、装置和电子设备 | |
CN110795172B (zh) | 前台进程控制方法、装置、电子设备以及存储介质 | |
WO2022213945A1 (zh) | 应用提醒方法、装置及电子设备 | |
JP2015095219A (ja) | 情報処理装置、情報処理方法および記憶媒体 | |
CN111475299A (zh) | 内存分配方法、装置、存储介质及电子设备 | |
WO2023284877A1 (zh) | 检测方法、装置及电子设备 | |
CN107395888B (zh) | 黑屏手势的处理方法、装置、存储介质及移动终端 | |
CN113986190A (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 |