一种从视觉上优化Android应用启动速度的方法及装置与流程

文档序号:12063354阅读:195来源:国知局
一种从视觉上优化Android应用启动速度的方法及装置与流程

本发明涉及Android应用的启动技术领域,具体来讲是一种从视觉上优化Android应用启动速度的方法及装置。



背景技术:

目前,在Android系统中实现Android应用的启动时,通常采用的是一种先加载资源后显示实际界面的方式。具体来说,当启动一个Android应用时,系统会先解析并启动Activity组件的Theme主题(Activity是Android组件中最基本也是最为常用的四大组件之一,是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务),根据Theme主题里面的元素(如主题定义的状态栏颜色和窗口的背景)绘制出一个初始的界面,如Splash界面;当系统加载完所有的资源并启动Activity的onCreate()函数(onCreate()是Andorid系统中的一个特别的函数,用来"表示一个窗口正在生成",其不产生窗口,只是在窗口显示前设置窗口的属性如风格、位置等)之后,然后再把初始界面替换为Activity的实际layout的界面。

但实际操作中,利用上述方式进行Android应用的启动时,由于用户开始点击Android应用时该Android应用并没有被执行过,因此打开一个没有执行过的Android应用后到执行Activity.onCreate()函数的时间会比较久,这就会出现白色的背景现象。而一旦Android应用在启动的瞬间需要加载大量的资源时,这个白色背景出现的时间就会很长,甚至会出现一段时间的空白现象。当用户看到一段时间出现空白现象时,就会明显感觉到是Android应用的启动速度过慢,从而影响用户体验。



技术实现要素:

本发明的目的是为了克服上述背景技术的不足,提供一种从视觉上优化Android应用启动速度的方法及装置,解决了Android应用在启动时出现空白现象的问题,能从视觉上优化Android应用的启动速度,给予用户一定的体验提升。

为达到以上目的,本发明采取的技术方案是:提供一种从视觉上优化Android应用启动速度的方法,该方法包括以下步骤:步骤S1:创建XML格式的主题文件,所述主题文件包括绘制显示页面所需的各种属性,且其中的窗体背景属性的值为一个指定背景图片的路径名;步骤S2:将所述指定背景图片添加到Android系统的指定文件夹下,使其形成的路径名与所述主题文件的窗体背景属性的值相同;步骤S3:在创建好的主题文件中添加应用首页图片属性,使得所述主题文件绘制的显示图片为应用首页的图片;步骤S4:将当前的主题文件绑定到Android应用启动时的Activity中;步骤S5:当用户启动Android应用时,查询到Android应用启动时的Activity,直接读取该Activity中绑定的主题文件,利用主题文件进行启动页面的渲染。

本发明还提供一种从视觉上优化Android应用启动速度的装置,该装置包括主题文件创建模块、窗体背景图片添加模块、应用首页图片属性添加模块、应用启动设置模块和应用启动实现模块;

所述主题文件创建模块用于:创建XML格式的主题文件,所述主题文件包括绘制显示页面所需的各种属性,且其中的窗体背景属性的值为一个指定背景图片的路径名;所述窗体背景图片添加模块用于:将所述指定背景图片添加到Android系统的指定文件夹下,使其形成的路径名与所述主题文件的窗体背景属性的值相同;所述应用首页图片属性添加模块用于:在创建好的主题文件中添加应用首页图片属性,使得所述主题文件绘制的显示图片为应用首页的图片;所述应用启动设置模块用于:将当前的主题文件绑定到Android应用启动时的Activity中;所述应用启动实现模块用于:当用户启动Android应用时,查询到Android应用启动时的Activity,直接读取该Activity中绑定的主题文件,利用主题文件进行启动页面的渲染。

本发明的有益效果在于:

本发明采用一个新建的xml格式的主题文件来达到快速绘制显示页面的目的,相较传统的通过加载Activity的Theme来绘制Splash界面来说,本方法使用xml文件来作为解析文本,不需要另外的Activity来加载,这样应用也会少一个Activity的页面制作,因此开发人员无需重新绘制一套启动界面来实现;同时也不需要消耗额外的系统资源,因此启动较传统的Splash界面来说,启动更快,可有效减少出现白屏的现象,更能改进应用的启动速度。

与此同时,本发明在实现Android应用的启动时,当用户启动应用后,系统将直接读取主题文件中的属性来进行启动页面的渲染,不用在初始化过程中去读取其他的页面数据再开始渲染,这样就减少了闪屏的现象产生;且启动时先调用主题文件将应用首页的图片先渲染上去,可从视觉上让用户觉得页面已经好了,再来执行activity的其他各项初始化,并在显示后才开始进行相关应用的初始化功能,更能改进应用的启动速度,提升用户的体验。并且,利用主题文件进行启动页面的渲染时,所渲染的图片为应用首页图片而窗体背景则为一个指定背景图片(并非白色背景),即使当应用首页图片无法立即渲染出来时,整个的窗体背景也不会出现空白现象,从而使用户体验较好。

附图说明

图1为本发明实施例中从视觉上优化Android应用启动速度的方法的流程图;

图2为本发明实施例中从视觉上优化Android应用启动速度的装置的结构框图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

本发明中需要使用XML文件,因此在这里对XML文件进行一些解释说明。XML(Extensible Markup Language,可扩展标记语言)文件为标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。本发明使用xml文件来作为解析文本实现本方案。

参见图1所示,本发明实施例提供一种从视觉上优化Android应用启动速度的方法,包括以下步骤:

步骤S1、新建主题文件:通过在Android系统已有的Style文件中新建主题的方式,创建一个主题文件,所述主题文件为显示页面的绘制文件,其格式为XML格式,包括绘制显示页面所需的各种属性(如高度属性、填充属性、字体颜色属性、窗体背景属性、显示图片属性等),且所述主题文件的窗体背景属性的值为一个指定背景图片的路径名,转入步骤S2。

可以理解的是,本发明主要是使用一个新建的特殊主题文件来达到快速绘制显示页面的目的,相较传统的通过加载Activity的Theme来绘制Splash界面来说,本方法是不需要另外的Activity来加载,这样应用也会少一个Activity的页面制作,因此开发人员无需重新绘制一套启动界面来实现;同时也不需要消耗额外的系统资源,因此启动较传统的Splash界面来说,启动更快,可有效减少出现白屏的现象,更能改进应用的启动速度。

从实际操作上来说,在Android的开发中,每个页面中需要配置一个XML来显示该页面的绘制文件,而Style文件就是使用XML来表现的一种形式。在Android系统中,Style文件是View中一些属性的集合文件,包括height高度属性、padding填充属性、font color字体颜色属性、background窗体背景属性等等。Style单独定义在XML中,类似于Web页面中CSS的角色,将设计和内容分开,便于修改和重复使用。因此在本方案中,选择在Android已有的Style文件中新建主题的方式,创建上述特殊的主题文件,以便实现上述快速绘制显示页面的目的。

具体来说,步骤S1包括以下操作:

步骤S101:在Android系统已有的Style文件中新增一个item标签,并将其name名字属性的值设置为“窗体背景”,即android:windowBackground。

步骤S102:将新增的item标签中的值设置为一个指定背景图片的路径名,如@drawable/launch_screen;设置完成之后的Style文件即为创建的主题文件。

可以理解的是,进行上述操作的目的是:在保留原有的Style文件中有关绘制显示页面所需的各种属性的同时,改变原有Style文件中的窗体背景的图片,并将其改为一个我们所需要的指定背景图片(本实施例中,该指定背景图片即为drawable文件下的launch_screen图片),从而形成我们所需的特殊主题文件。

步骤S2、添加窗体背景图片:将所述指定背景图片添加到Android系统的指定文件夹下,使其形成的路径名与所述主题文件的窗体背景属性的值相同,转入步骤S3。

可以理解的是,在Android系统中,已有的drawable文件夹下不仅可以放置普通的图片文件作为资源来使用,同样也可以放置设定好的XML文件来当做图片资源使用,因为Android系统中允许通过XML生成图片来当做资源文件使用。因此,在实现本发明时,我们选择Android系统中已有的drawable文件夹作为指定文件夹。具体操作时,是在Android工程的drawable文件夹下新建一个名叫launch_screen.xml的文件即可,该文件名可以自定义,但需要保证主题文件的窗体背景图片的图片名与自定义的文件名相同,即改变上面@drawable/launch_screen中的launch_screen对应的名称。

步骤S3、添加应用首页图片属性:在创建好的主题文件中添加应用首页图片属性,使得所述主题文件绘制的显示图片为需要加载的应用首页的图片,转入步骤S4。

可以理解的是,实际操作时,为了更好的实现本发明的目的,在执行步骤S3之前,还包括对创建的主题文件进行编译的过程:

1)在创建的主题文件中添加一个XML文件头,如<?xml version="1.0"encoding="utf-8"?>,所述XML文件头包括所述主题文件(为XML格式)所使用的XML官方解析版本的信息,以及编码格式的信息。Android应用启动时,能根据XML文件头中的上述信息,实现对主题文件(实际为XML文件)的解析。

2)在创建的主题文件中增加layer-list多图层堆叠显示标签;在layer-list多图层堆叠显示标签中添加防止出现闪屏的参数:android:opacity="opaque"。可以理解的是,在Android开发中,layer-list标签是用来多个图层堆叠显示的,借这个特性可以做一些特别的效果(比如:阴影、下面的效果等)。本发明中,可以借助该标签来达到启动时防止出现闪屏的现象。

在此基础上,本实施例中步骤S3具体包括以下操作:在新增的layer-list多图层堆叠显示标签中添加一个item标签,并在该标签内添加一个bitmap位图标签;在该bitmap位图标签中添加应用首页图片属性,该属性的值即为需要加载的应用首页的图片路径。例如:android:src="@drawable/index",其中,"@drawable/index"为需要加载的应用首页的图片路径,表示是Android工程的drawable文件夹下图片名为index的图片。

步骤S4、应用启动的设置:将当前的主题文件绑定到Android应用启动时的Activity中,转入步骤S5。实际操作时,只需在Android应用启动时的Activity的声明中添加当前的主题文件即可,例如:android:theme="@style/index"。当设置了这之后,当该Activity启动后,Android系统会自动去主题文件style中读取之前已经设置好的文件来渲染应用首页图片index。

步骤S5、应用启动的实现:当用户启动Android应用时,查询到Android应用启动时的Activity,直接读取该Activity中绑定的主题文件,利用主题文件进行启动页面的渲染,结束。

利用本发明的方法去实现Android应用的启动时,Android系统在打开应用时,首先会查询到Android应用启动时的Activity是哪一个,然后将读取该Activity中的主题文件来开始初始化渲染功能。在读取主题文件时,由于我们在主题标签中加入了上述语句,系统就将直接读取layer-list标签的中的属性来进行启动页面的渲染,不用在初始化过程中去读取其他的页面数据再开始渲染,这样就减少了闪屏的现象产生;并且,启动时先调用主题文件将图片先渲染上去,可从视觉上让用户觉得页面已经好了;再来执行activity的其他各项初始化,并在显示后才开始进行相关应用的初始化功能,更能改进应用的启动速度,提升用户的体验。

参见图2所示,本发明还提供了一种从视觉上优化Android应用启动速度的装置,该装置包括主题文件创建模块、窗体背景图片添加模块、应用首页图片属性添加模块、应用启动设置模块和应用启动实现模块。

其中,主题文件创建模块用于:创建XML格式的主题文件,所述主题文件包括绘制显示页面所需的各种属性,且其中的窗体背景属性的值为一个指定背景图片的路径名。其具体流程为:在Android系统已有的Style文件中新增一个item标签,并将其name名字属性的值设置为windowBackground窗体背景;将新增的item标签中的值设置为一个指定背景图片的路径名;设置完成之后的Style文件即为创建的主题文件。

窗体背景图片添加模块用于:将所述指定背景图片添加到Android系统的指定文件夹下,使其形成的路径名与所述主题文件的窗体背景属性的值相同。本实施例中,所述指定文件夹为Android系统中已有的drawable文件夹。

应用首页图片属性添加模块用于:在创建好的主题文件中添加应用首页图片属性,使得主题文件绘制的显示图片为应用首页的图片。

应用启动设置模块用于:将当前的主题文件绑定到Android应用启动时的Activity中。

应用启动实现模块用于:当用户启动Android应用时,查询到Android应用启动时的Activity,直接读取该Activity中绑定的主题文件,利用主题文件进行启动页面的渲染。

进一步地,该装置还包括主题文件编译模块,用于:在创建的主题文件中添加一个XML文件头,所述XML文件头包括所述主题文件所使用的XML官方解析版本的信息,以及编码格式的信息;在创建的主题文件中增加layer-list多图层堆叠显示标签;并在layer-list多图层堆叠显示标签中添加防止出现闪屏的参数。

在此基础上,所述应用首页图片属性添加模块进行属性添加的具体流程为:在新增的layer-list多图层堆叠显示标签中添加一个item标签,并在该标签内添加一个bitmap位图标签;在该bitmap位图标签中添加应用首页图片属性,该属性的值即为需要加载的应用首页的图片路径。

需要说明的是:上述实施例提供的装置在进行操作时,仅以上述各功能模块的划分进行举例说明,实际应用中,可根据需要将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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