本发明涉及计算机,具体涉及一种应用程序启动方法、装置、计算机设备及存储介质。
背景技术:
1、随着计算机技术的发展,越来越多的应用程序(application,app)被开发并安装到智能手机或平板电脑等终端设备上,以完善终端设备的功能和个性化,为用户提供更为丰富的使用体验。
2、随着用户对终端设备的使用,逐渐会显现一个问题:当用户使用终端设备打开一个app时,用户在app启动过程中可能会感觉app界面呈现太慢,甚至出现白屏的现象;尤其是开机后首次打开该app时,该app从未被启动过,用户在app启动过程中,上述现象可能会更加明显,这严重影响了用户的体验效果。
技术实现思路
1、有鉴于此,本发明提供了一种应用程序启动方法、装置、计算机设备及存储介质,以解决相关技术中启动app时容易出现界面呈现较慢或出现白屏的问题。
2、第一方面,本发明提供了一种应用程序启动方法,所述方法包括:响应于用户的操作,调用内容提供者组件加载应用程序的视图资源;将所述视图资源保存到视图资源缓存集合中;启动活动组件,通过所述活动组件从所述视图资源缓存集合中获取所述应用程序的视图资源;将获取到的所述视图资源设置为所述活动组件的视图。
3、本实施例提供的应用程序启动方法,通过对app启动过程中的加载顺序的调整,优先调用content provider组件来加载启动app所需的view资源,并进行缓存,使得activity组件需要加载该view资源时,可以直接从缓存中获取,使得activity组件在启动过程中无需加载view的过程,避免了activity组件由于view的绘制耗时导致的白屏或显示过慢的问题,有效提高app的显示速度。
4、在一种可选的实施方式中,所述调用内容提供者组件加载应用程序的视图资源,包括:定义初始化类,使所述初始化类继承所述内容提供者组件,并重写所述内容提供者的oncreate函数;执行所述oncreate函数获取所述应用程序的对象,并通过布局加载器基于所述对象生成所述视图资源。
5、在一种可选的实施方式中,在执行所述oncreate函数获取所述应用程序的对象,并通过布局加载器基于所述对象生成所述视图资源之前,所述调用内容提供者组件加载应用程序的视图资源,还包括:将所述初始化类添加到所述应用程序的信息描述文件中。
6、在一种可选的实施方式中,所述调用内容提供者组件加载应用程序的视图资源,包括:重写所述内容提供者的oncreate函数;执行所述oncreate函数获取所述应用程序的对象,并通过布局加载器基于所述对象生成所述视图资源。
7、在一种可选的实施方式中,所述将所述视图资源保存到视图资源缓存集合中,包括:为所述视图资源设置id地址;将所述id地址与所述视图资源的键值对建立关联;将建立的关联关系及所述视图资源保存到所述视图资源缓存集合中。
8、本实施例提供的应用程序启动方法,通过对app启动过程中的加载顺序的调整,优先调用content provider组件来加载启动app所需的view资源,并进行缓存,使得activity组件需要加载该view资源时,可以直接从缓存中获取,并且可以通过id直接获取,进一步缩短获取view资源的时间,避免了activity组件由于view的绘制耗时导致的白屏或显示过慢的问题,有效提高app的显示速度。
9、在一种可选的实施方式中,所述通过所述活动组件从所述视图资源缓存集合中获取所述应用程序的视图资源,包括:重写所述活动组件的oncreate函数;执行所述活动组件的oncreate函数从所述视图资源缓存集合中获取所述视图资源进行加载。
10、本实施例中,在活动组件需要加载该view资源时,直接从该视图资源缓存集合中获取该view资源,而无需重新加载view资源,大大节省了组件加载资源进行显示的时间。
11、在一种可选的实施方式中,在响应于用户的操作,调用内容提供者组件加载应用程序的视图资源之前,所述方法还包括:判断后台进程中是否存在所述用户的操作对应的应用程序;若所述后台进程中不存在所述用户的操作对应的应用程序,则执行响应于用户的操作,调用内容提供者组件加载应用程序的视图资源的步骤至将获取到的所述视图资源设置为所述活动组件的视图的步骤;若所述后台进程中存在所述用户的操作对应的应用程序,则切换至所述应用程序进行显示。
12、第二方面,本发明提供了一种应用程序启动装置,所述装置包括:视图资源加载模块,用于响应于用户的操作,调用内容提供者组件加载应用程序的视图资源;视图资源保存模块,用于将所述视图资源保存到视图资源缓存集合中;视图资源获取模块,用于启动活动组件,通过所述活动组件从所述视图资源缓存集合中获取所述应用程序的视图资源;视图设置模块,用于将获取到的所述视图资源设置为所述活动组件的视图。
13、本实施例提供的应用程序启动装置,通过对app启动过程中的加载顺序的调整,优先调用content provider组件来加载启动app所需的view资源,并进行缓存,使得activity组件需要加载该view资源时,可以直接从缓存中获取,使得activity组件在启动过程中无需加载view的过程,避免了activity组件由于view的绘制耗时导致的白屏或显示过慢的问题,有效提高app的显示速度。
14、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的应用程序启动方法。
15、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的应用程序启动方法。
1.一种应用程序启动方法,其特征在于,所述方法包括:
2.根据权利要求1所述的应用程序启动方法,其特征在于,所述调用内容提供者组件加载应用程序的视图资源,包括:
3.根据权利要求2所述的应用程序启动方法,其特征在于,在执行所述oncreate函数获取所述应用程序的对象,并通过布局加载器基于所述对象生成所述视图资源之前,所述调用内容提供者组件加载应用程序的视图资源,还包括:
4.根据权利要求1所述的应用程序启动方法,其特征在于,所述调用内容提供者组件加载应用程序的视图资源,包括:
5.根据权利要求1所述的应用程序启动方法,其特征在于,所述将所述视图资源保存到视图资源缓存集合中,包括:
6.根据权利要求5所述的应用程序启动方法,其特征在于,所述通过所述活动组件从所述视图资源缓存集合中获取所述应用程序的视图资源,包括:
7.根据权利要求1所述的应用程序启动方法,其特征在于,在响应于用户的操作,调用内容提供者组件加载应用程序的视图资源之前,所述方法还包括:
8.一种应用程序启动装置,其特征在于,所述装置包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的应用程序启动方法。