Activity的切换方法、装置、终端及存储介质与流程

文档序号:19250011发布日期:2019-11-27 20:05阅读:189来源:国知局
Activity的切换方法、装置、终端及存储介质与流程

本发明存在于通信技术领域,尤其涉及一种activity的切换方法、装置、终端及存储介质。



背景技术:

随着互联网技术的发展,手机、手环、手表等智能终端越来越普及,同时应用于智能终端上的各种应用程序的功能也越来越强大,而伴随着应用程序功能的强大,应用程序的activity(活动组件)涉及的元素也越来越多。

当应用程序运行时,各activity会随着运行过程进行启动或销毁,在android系统终端设备上,如果当前activity占用的内存资源比较多,当需要退出当前activity并切换至下一个(目标)activity时,容易出现先黑屏再显示出下一个界面的问题,现有技术中主要是通过提高cpu、内存等硬件的性能来解决上述问题,但现实中低性能硬件设备依旧普遍存在,比如1ghzcpu+256mb内存的穿戴式设备,上述问题降低了低性能硬件设备的用户体验。



技术实现要素:

本发明的目的在于提供一种activity的切换方法、装置、终端及存储介质,旨在解决由于现有技术中activity切换时出现短暂黑屏导致的用户体验差的问题。

一方面,本发明提供一种activity的切换方法,所述方法包括下述步骤:

判断是否满足预设的销毁当前activity的条件;

当满足所述销毁当前activity的条件时,获取所述当前activity的特征信息;

根据所述特征信息创建延时线程,以延迟预设的时长销毁所述当前activity;

当所述延时线程被执行完毕时,销毁所述当前activity,并切换到目标activity。

优选地,所述销毁当前activity的条件为检测到当前activity界面向屏幕预设的方向滑动,所述预设的方向包括上、下、左或右。

优选地,所述获取所述当前activity的特征信息的步骤之后,包括:

根据所述特征信息判断所述当前activity是否存在于预先构建的activity名单中;

当判断出所述activity存在于所述activity名单中时,跳转至根据所述特征信息创建目标延时线程的步骤。

优选地,所述activity名单中包含相机应用的特征信息。

优选地,根据所述特征信息创建延时线程的步骤,包括:

根据所述特征信息获取所述时长;

根据所述特征信息以及所述时长创建所述延时线程。

优选地,所述预设的时长为500ms。

另一方面,本发明提供了一种activity的切换装置,所述装置包括:

第一判断单元,用于判断是否满足预设的销毁当前activity的条件;

信息获取单元,用于当满足所述销毁当前activity的条件时,获取所述当前activity的特征信息;

线程创建单元,用于根据所述特征信息创建延时线程,以延迟预设的时长销毁所述当前activity;以及

切换单元,用于当所述延时线程被执行完毕时,销毁所述当前activity,并切换到目标activity。

优选地,所述装置还包括:

第二判断单元,用于根据所述特征信息判断所述当前activity是否存在于预先构建的activity名单中,当判断出所述activity存在于所述activity名单中时,触发所述线程创建单元执行根据所述特征信息创建目标延时线程。

另一方面,本发明还提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。

另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。

本发明通过判断是否满足预设的销毁当前activity的条件,当满足销毁当前activity的条件时,获取当前activity的特征信息,根据特征信息创建延时线程,以延迟预设的时长销毁当前activity,当延时线程被执行完毕时,销毁当前activity,并切换到目标activity,从而通过创建延时线程提高了activity界面切换的流畅度,减少了activity界面切换过程中的出现黑屏的时长,进而提升了用户体验。

附图说明

图1是本发明实施例一提供的activity的切换方法的实现流程图;

图2是本发明实施例二提供的activity的切换方法的实现流程图;

图3是本发明实施例三提供的activity的切换装置的结构示意图;以及

图4是本发明实施例四提供的终端的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

图1示出了本发明实施例一提供的activity的切换方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤s101中,判断是否满足预设的销毁当前activity的条件。

本发明实施例适用于安卓终端,例如手机、手表、手环等,该销毁当前activity的条件可以为检测到某一特定的按键被触发,该按键可以为物理按键,也可以为虚拟按键,考虑到手表、手环等穿戴式设备屏幕的操作空间有限,优选地,销毁当前activity的条件为检测到当前activity界面向屏幕预设的方向滑动,预设的方向包括上、下、左或右,以便于用户的实际操作,进而提升了用户体验。当然,该预设的方向还可以包括左上、左下、右上或右下等,在此不作限定。

当销毁当前activity的条件为检测到当前activity界面向屏幕预设的方向滑动时,进一步地,销毁当前activity的条件还可以包括当前activity滑出屏幕预设的比例,例如,销毁当前activity的条件为当前activity界面向右滑出屏幕宽度的2/3,又如,销毁当前activity的条件为当前activity界面向上滑出屏幕高度的3/4,从而进一步优选地,销毁当前activity的条件为检测当前activity界面向预设的方向完全滑出屏幕,以避免用户操作不当导致的误判,从而进一步提升了用户体验。例如,销毁当前activity的条件为检测当前activity界面向右完全滑出屏幕。

当然,该预设的手势动作也可以为上述以外的触发动作,例如,双击动作、画叉动作或画圈动作等,在此亦不作限定。

在步骤s102中,当满足销毁当前activity的条件时,获取当前activity的特征信息。

在本发明实施例中,activity的特征信息指的是能将一个activity与其它activity区分开的特征信息,例如,当一个activity的包名及类名确定时,该activity就可以被唯一确定,所以,可以将activity的包名和类名作为activity的特征信息。

在步骤s103中,根据特征信息创建延时线程。

在本发明实施例中,在应用程序框架成执行到finish()方法时,在该activity对应的应用进程中创建一个新线程(延时线程),而不会马上执行finish()方法来销毁当前activity,以延迟预设的时长销毁当前activity。其中,该时长可以为一个固定的值,优选地,该预设的时长为500ms,在减少或消除终端中所有activity切换时出现的短暂黑屏的同时,不易被用户察觉,进而提高了用户体验。

该时长也可以为以一变化的值,在根据特征信息创建延时线程时,优选地,根据特征信息获取时长,根据特征信息以及时长创建延时线程,从而提高了该延时线程的灵活性。在根据特征信息获取时长,具体地,可以预先建立一延时表单,该表单中包含有一个或多个activity的特征信息,以及activity对应的时长,通过查询该延时表单来获取该时长。也可以获取该activity占用的内存值,将该内存值和一个或多个内存阈值比较,每一内存阈值对应不同的时长,根据比较结果来获取时长。

在步骤s104中,当延时线程被执行完毕时,销毁当前activity,并切换到目标activity。

在本发明实施例中,当延时线程被执行完毕时,销毁当前activity,并切换到目标activity,以使目标activity尽量避开设备性能消耗高峰并更快的显示出来,其中,该目标activity即为关闭当前activity后要显示的先一个activity,例如目标activity界面为桌面。

在本发明实施例中,判断是否满足预设的销毁当前activity的条件,当满足销毁当前activity的条件时,获取当前activity的特征信息,根据特征信息创建延时线程,以延迟预设的时长销毁当前activity,当延时线程被执行完毕时,销毁当前activity,并切换到目标activity,从而通过创建延时线程提高了activity界面切换的流畅度,减少了activity界面切换过程中的出现黑屏的时长,进而提升了用户体验。

实施例二:

图2示出了本发明实施例二提供的activity的切换方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤s201中,判断是否满足预设的销毁当前activity的条件。

在步骤s202中,当满足销毁当前activity的条件时,获取当前activity的特征信息。

步骤s201-s202的实施方式可对应参考前述实施例一中步骤s101-s102的描述,在此不再赘述

在步骤s203中,根据特征信息判断当前activity是否存在于预先构建的activity名单中。

在本发明实施例中,在根据特征信息判断当前activity是否存在于预先构建的activity名单中之前,可以获取终端中每个activity占用的内存资源情况来构建activity名单,该activity名单通常包含有终端中占用的内存资源较多的activity的特征信息,从而通过查询该activity名单来确定当前activity是否存在于该activity名单中,是则,执行步骤s204,否则,跳转至步骤s201。

优选地,activity名单中包含有相机应用的特征信息,以实现activity名单的默认设置,其中,该相机应用的特性信息应至少包括相机应用的包名和类型。

优选地,当检测到终端安装新的应用程序并运行时,更新该activity名单,从而实现了activity名单的自动更新。

在步骤s204中,当判断出activity存在于activity名单中时,根据特征信息创建延时线程。

在本发明实施例中,步骤s204的实施方式可对应参考前述实施例一中步骤s103的描述,在此不再赘述。

在这里需要说明的是,步骤s103中描述的延时表单可以与该activity名单合并,即activity名单中包含有延时表单中的信息。

在步骤s205中,当延时线程被执行完毕时,销毁当前activity,并切换到目标activity。

在本发明实施例中,步骤s205的实施方式可对应参考前述实施例一中步骤s104的描述,在此不再赘述。

实施例三:

图3示出了本发明实施例三提供的activity的切换装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:

第一判断单元31,用于判断是否满足预设的销毁当前activity的条件;

信息获取单元32,用于当满足销毁当前activity的条件时,获取当前activity的特征信息;

线程创建单元33,用于根据特征信息创建延时线程,以延迟预设的时长销毁当前activity;以及

切换单元34,用于当延时线程被执行完毕时,销毁当前activity,并切换到目标activity。

优选地,该装置还包括:

第二判断单元,用于根据特征信息判断当前activity是否存在于预先构建的activity名单中,当判断出activity存在于activity名单中时,触发线程创建单元执行根据特征信息创建目标延时线程。

优选地,线程创建单元还包括:

时长获取单元,用于根据特征信息获取时长;以及

线程创建子单元,用于根据特征信息以及时长创建延时线程。

在本发明实施例中,activity的切换装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。activity的切换装置的各单元的具体实施方式可参考前述方法实施例的描述,在此不再赘述。

实施例四:

图4示出了本发明实施例四提供的终端的结构,为了便于说明,仅示出了与本发明实施例相关的部分。

本发明实施例的终端4包括处理器40、存储器41以及存储在存储器41中并可在处理器40上运行的计算机程序42。该处理器40执行计算机程序42时实现上述各方法实施例中的步骤,例如图1所示的步骤s101至s105。或者,处理器40执行计算机程序42时实现上述各装置实施例中各单元的功能,例如图3所示单元31至34的功能。

在本发明实施例中,通过判断是否满足预设的销毁当前activity的条件,当满足销毁当前activity的条件时,获取当前activity的特征信息,根据特征信息创建延时线程,以延迟预设的时长销毁当前activity,当延时线程被执行完毕时,销毁当前activity,并切换到目标activity,从而通过创建延时线程提高了activity界面切换的流畅度,减少了activity界面切换过程中的出现黑屏的时长,进而提升了用户体验。

实施例五:

在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1所示的步骤s101至s104。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图3所示单元31至34的功能。

在本发明实施例中,通过判断是否满足预设的销毁当前activity的条件,当满足销毁当前activity的条件时,获取当前activity的特征信息,根据特征信息创建延时线程,以延迟预设的时长销毁当前activity,当延时线程被执行完毕时,销毁当前activity,并切换到目标activity,从而通过创建延时线程提高了activity界面切换的流畅度,减少了activity界面切换过程中的出现黑屏的时长,进而提升了用户体验。

本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,rom/ram、磁盘、光盘、闪存等存储器。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1