多页面启动方法及装置与流程

文档序号:14175084阅读:211来源:国知局
多页面启动方法及装置与流程

本发明涉及计算机技术领域,尤其是涉及一种多页面启动方法及装置。



背景技术:

安卓(android)系统中,应用的启动和页面(activity)的加载都要经过一系列的加载步骤,当某些步骤没有加载完成或者加载耗时较长时就会导致常见的黑屏或者短暂白屏现象。当然,处理这些问题目前也有常见的方法,比如给应用或者页面设置自定义的主题(theme),包括:在主题中将窗口背景设置成透明、指定成某一种颜色或者指定成某一张图片。但是,这些方法也存在各自的局限性,比如窗口背景设置成透明后,在应用启动跳转的时候,屏幕上会短暂的出现一下桌面背景;窗口背景设置成一张图片后,在同时启动多个页面的时候,如果页面中初始化的内容比较多,耗时操作时间较长仍会导致短暂的黑屏或者白屏现象。

针对上述多页面启动中出现的黑屏或白屏现象,目前缺乏有效的解决方案。



技术实现要素:

有鉴于此,本发明的目的在于提供一种多页面启动方法及装置,以缓解多页面启动中出现的黑屏或白屏现象。

第一方面,本发明实施例提供了一种多页面启动方法,包括:

获取请求对目标应用进行启动的请求信息;

根据所述请求信息,确定所述目标应用中待启动的多个页面及所述多个页面的启动顺序;

按照所述启动顺序,将所述多个页面依次延迟启动。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,按照所述启动顺序,将所述多个页面依次延迟启动,包括:

在第k个页面启动后,调用定时器,以使所述定时器在所述第k个页面启动了第k个预设时长时,触发第k+1个页面启动,

其中,所述第k+1个页面是所述启动顺序中位于所述第k个页面的后一个页面,k依次取值1至n-1,n为所述多个页面的总数。

结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述第k个预设时长为200毫秒。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,按照所述启动顺序,将所述多个页面依次延迟启动,包括:

获取预设过渡动画;

按照所述启动顺序,将所述多个页面依次延迟启动,其中,所述启动的屏显过程中任两个相邻屏显页面的屏显过渡阶段采用所述预设过渡动画。

结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述预设过渡动画包括:

所述多个页面中的每个页面以淡入的方式显示在屏幕上,和/或,所述多个页面中的每个页面以淡出的方式从屏幕上撤出。

第二方面,本发明实施例还提供一种多页面启动装置,包括:

获取模块,用于获取请求对目标应用进行启动的请求信息;

确定模块,用于根据所述请求信息,确定所述目标应用中待启动的多个页面及所述多个页面的启动顺序;

启动模块,用于按照所述启动顺序,将所述多个页面依次延迟启动。

第三方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行第一方面所述的方法。

第四方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法。

本发明实施例带来了以下有益效果:

该多页面启动方法包括:获取请求对目标应用进行启动的请求信息;根据请求信息,确定目标应用中待启动的多个页面及多个页面的启动顺序;按照启动顺序,将多个页面依次延迟启动,即,将同时启动的多个页面在时间上进行依次延迟启动,从而使得目标应用的系统有足够的时间完成初始化加载工作,有效避免黑屏或者白屏现象的出现,缓解了多页面启动中出现黑屏或白屏现象的技术问题。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的一种多页面启动方法的流程图;

图2为本发明实施例一提供的一种按照启动顺序,将多个页面依次延迟启动的方法流程图;

图3为本发明实施例一提供的另一种按照启动顺序,将多个页面依次延迟启动的方法流程图;

图4为本发明实施例二提供的一种多页面启动装置的结构框图。

图标:100-获取模块;200-确定模块;300-启动模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

安卓(android)系统中,应用的启动和页面(activity)的加载都要经过一系列的加载步骤,当某些步骤没有加载完成或者加载耗时较长时就会导致常见的黑屏或者短暂白屏现象。

目前,通过目标应用的启动页设置自定义的主题来缓解黑屏或者白屏现象,例如,可以在安卓系统的清单文件(例如,androidmanifest.xml)中的启动页的activity中设置android:theme="@style/splashtheme;在splashtheme中,设置<itemname="android:windowfullscreen">true</item>,<itemname="android:background">@mipmap/start_image</item>,即可使得启动页的默认图片指定为名称是start_image的图片。然而,在需要同时打开两个或者更多的页面,并同时销毁之前的页面的情形下,如果新启动的页面没有过多加载损耗,即没有过多影响启动速度的因素,我们肉眼并不会感觉出有什么问题,一般性能的手机也能很流畅的加载出来;倘若此时应用中的内容比较多,需要初始化的内容一般也会增多,初始化的时间就会比平时需要的时间长,这时要想像之前那样快速流畅启动就需要性能好的手机,中等性能的和较低性能的手机就很可能出现短暂时间的黑屏或白屏现象。基于此,本发明实施例提供的一种多页面启动方法及装置,可以缓解多页面启动中出现的黑屏或白屏现象。

实施例一

本发明实施例提供的一种多页面启动方法,如图1所示,包括:

步骤s102,获取请求对目标应用进行启动的请求信息。

具体地,电子设备中安装有一个或多个app,例如,有微信、qq等。获取请求对目标应用进行启动的请求信息,例如有,获取启动app的请求信息,例如还有启动app中任一功能的请求信息。需要说明的是,此处只是对目标应用进行举例说明,并不是对目标应用所作的具体限定。

步骤s104,根据请求信息,确定目标应用中待启动的多个页面及多个页面的启动顺序。

具体地,虽然传统多页面启动方法中是多页面同时启动,由于多个页面在屏幕上显示具有先后顺序,因而,可以根据多个页面在屏幕上显示具有先后顺序来确定目标应用中待启动的多个页面及多个页面的启动顺序;即使多个页面在屏幕上显示没有先后顺序之分,步骤s104中可以任意确定一个启动顺序,以使多个页面按照启动顺序来依次延迟启动。

步骤s106,按照启动顺序,将多个页面依次延迟启动。

具体地,将多个页面依次延迟启动,不仅包括多个页面中任两个相邻启动页面之间的间隔时长相等的情形,也包括多个页面中任两个相邻启动页面之间的间隔时长不等的情形。

在本发明实施例中,首先,获取请求对目标应用进行启动的请求信息;然后,根据请求信息,确定目标应用中待启动的多个页面及多个页面的启动顺序;最后,按照启动顺序,将多个页面依次延迟启动,即,将同时启动的多个页面在时间上进行依次延迟启动,从而使得目标应用的系统有足够的时间完成初始化加载工作,有效避免黑屏或者白屏现象的出现,缓解了多页面启动中出现黑屏或白屏现象的技术问题。

本发明实施例的一个可选实施方式中,如图2所示,步骤s106,按照启动顺序,将多个页面依次延迟启动,包括:

在第k个页面启动后,调用定时器,以使定时器在第k个页面启动了第k个预设时长时,触发第k+1个页面启动,

其中,第k+1个页面是启动顺序中位于第k个页面的后一个页面,k依次取值1至n-1,n为多个页面的总数。

具体地,步骤s106从k=1开始,然后依次执行下述步骤:

步骤s201,启动第k个页面;

步骤s202,调用定时器,使定时器在第k个页面启动了第k个预设时长时,触发第k+1个页面启动;

步骤s203,判断k是否小于n,其中,在k小于n的情况下,执行步骤s204,然后,返回执行步骤s201;在k等于n的情况下,结束。

步骤s204,令k=k+1,即,将更新前的k加1后得到的结果作为更新后的k。

具体地,第k个预设时长可以选为200毫秒。

需要说明的是,由于通常判断点击事件的时间是按300毫秒来区分的,如果是200毫秒以内的时间,那么普通人是感觉不到区别的,经过多次测试确定延迟200毫秒启动secondactivity,用户不会有体验上的差异,同时也能让页面流畅的加载。从而,本发明实施例对多页面采用了伪同时启动技术,即,轻微延迟启动,但用户仍感知同时启动的技术方法。

具体地,以同时启动两个activity(包括:分别命名为firstactivity和secondactivity的activity)为例,对该多页面启动方法进行如下详细说明:

首先,通过startactivity(newintent(this,firstactivity.class))来启动firstactivity,其中this是指当前的页面对象。

然后,可以通过任务来延迟启动secondactivity,方法也有很多,比如有定时器timer,handler或者alarmmanager等,下面以handler为例进行举例说明。

利用handler延迟启动secondactivity,包括:

通过mhandler.sendemptymessagedelayed(jump_to_second_page,200)实现通过handler发送一个200毫秒后执行的消息(message),200毫秒后,执行启动第二个页面的代码,通过startactivity(newintent(mcontext,secondactivity.class))即可实现启动secondactivity。其中,jump_to_second_page,是指定一个整数值。

本发明实施例的另一个可选实施方式中,如图3所示,步骤s106,按照启动顺序,将多个页面依次延迟启动,包括:

步骤s301,获取预设过渡动画;

步骤s302,按照启动顺序,将多个页面依次延迟启动,其中,启动的屏显过程中任两个相邻屏显页面的屏显过渡阶段采用预设过渡动画。

具体地,预设过渡动画可以包括:

多个页面中的每个页面以淡入的方式显示在屏幕上,和/或,多个页面中的每个页面以淡出的方式从屏幕上撤出。

具体地,通过指令overridependingtransition(r.anim.fade_in,r.anim.fade_out)即可实现页面以淡入的方式显示在屏幕上和以淡出的方式从屏幕上撤出,其中,fade_in为一个淡入动画,fade_out为一个淡出动画。

本发明实施例中,通过预设过渡动画实现了多页面启动在屏幕上更好的打开效果。

本发明实施例中,伪同时启动(或者称微延迟启动)方法能够给运行目标应用的系统更多时间来处理大量资源的加载工作,从而不仅能满足一般意义上的页面启动和跳转操作,而且,在启动多个页面,尤其是初始化工作比较多的页面时,也能实现启动的流畅。而预设过渡动画让系统在页面切换时更好的展示内容,从而,给用户带来更好的体验。

经过上述步骤,本发明实施例使得多个页面的启动顺利、流畅。在结合代码优化和初始化工作减少等措施的情况下,能够实现避免黑屏或者白屏现象出现的目的。

实施例二

如图4所示,本发明实施例提供的一种多页面启动装置。

该多页面启动装置,包括:

获取模块100,用于获取请求对目标应用进行启动的请求信息;

确定模块200,用于根据请求信息,确定目标应用中待启动的多个页面及多个页面的启动顺序;

启动模块300,用于按照启动顺序,将多个页面依次延迟启动。

在本发明实施例中,获取模块100获取请求对目标应用进行启动的请求信息;确定模块200根据请求信息,确定目标应用中待启动的多个页面及多个页面的启动顺序;启动模块300按照启动顺序,将多个页面依次延迟启动,即,将同时启动的多个页面在时间上进行依次延迟启动,从而使得目标应用的系统有足够的时间完成初始化加载工作,有效避免黑屏或者白屏现象的出现,缓解了多页面启动中出现黑屏或白屏现象的技术问题。

本发明实施例的一个可选实施方式中,启动模块300用于:

在第k个页面启动后,调用定时器,以使定时器在第k个页面启动了第k个预设时长时,触发第k+1个页面启动,

其中,第k+1个页面是启动顺序中位于第k个页面的后一个页面,k依次取值1至n-1,n为多个页面的总数。

本发明实施例的另一个可选实施方式中,第k个预设时长为200毫秒。

本发明实施例的另一个可选实施方式中,启动模块300用于:

获取预设过渡动画;

按照启动顺序,将多个页面依次延迟启动,其中,启动的屏显过程中任两个相邻屏显页面的屏显过渡阶段采用预设过渡动画。

本发明实施例的另一个可选实施方式中,预设过渡动画包括:

多个页面中的每个页面以淡入的方式显示在屏幕上,和/或,多个页面中的每个页面以淡出的方式从屏幕上撤出。

实施例三

本发明实施例提供的一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行实施例一的方法。

具体地,计算机可读介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例中,计算机可读介质具有处理器可执行的非易失的程序代码,程序代码使处理器执行实施例一的方法,具体地,首先,获取请求对目标应用进行启动的请求信息;然后,根据请求信息,确定目标应用中待启动的多个页面及多个页面的启动顺序;最后,按照启动顺序,将多个页面依次延迟启动,即,将同时启动的多个页面在时间上进行依次延迟启动,从而使得目标应用的系统有足够的时间完成初始化加载工作,有效避免黑屏或者白屏现象的出现,缓解了多页面启动中出现黑屏或白屏现象的技术问题。

实施例四

本发明实施例提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现实施例一的方法。

具体地,该电子设备例如有智能手机、平板电脑。需要说明的是,这里只是对电子设备进行举例说明,并不是对电子设备进行具体的限制。

本发明实施例中,电子设备中的处理器执行计算机程序时实现实施例一的方法,具体地,首先,获取请求对目标应用进行启动的请求信息;然后,根据请求信息,确定目标应用中待启动的多个页面及多个页面的启动顺序;最后,按照启动顺序,将多个页面依次延迟启动,即,将同时启动的多个页面在时间上进行依次延迟启动,从而使得目标应用的系统有足够的时间完成初始化加载工作,有效避免黑屏或者白屏现象的出现,缓解了多页面启动中出现黑屏或白屏现象的技术问题。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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