应用程序启动方法及系统与流程

文档序号:11864444阅读:344来源:国知局
应用程序启动方法及系统与流程

本发明涉及终端数据处理技术领域,具体涉及一种应用程序启动方法及系统。



背景技术:

在现今各式消费性电子设备市场中,手机、平板电脑、笔记本电脑等便携式电子设备已经被广泛使用。

目前的手机或平板电脑等电子设备上的应用程序启动的时候,如果有数据需要加载,一般会直接在用户界面(User Interface,UI)线程中进行加载,数据加载完毕之后才能呈现应用程序的用户界面。这种方式会严重影响应用程序启动时功能界面呈现的速度。并且,如果在UI线程执行了太久的操作,应用程序可能会无法响应,用户会被询问是否关闭当前应用程序,这给用户带来不好的体验。因此,为了提高应用程序启动时用户界面的呈现速度,提高用户体验,现有技术还需要改进和发展。



技术实现要素:

鉴于以上内容,有必要提出一种应用程序启动方法,其可以加快应用程序启动时用户界面的呈现速度,提高用户体验。

本申请的第一方面提供一种应用程序启动方法,包括:

当侦测到启动应用程序时,启动用户界面线程;

通过所述用户界面线程呈现所述应用程序的用户界面;

启动数据加载线程;及

通过所述数据加载线程加载所述应用程序的数据。

另一种可能的实现方式中,所述方法还包括:

如果所述应用程序的数据中的第一数据加载完毕,则通知所述用户界面线程更新所述应用程序的用户界面。

另一种可能的实现方式中,所述方法还包括:

如果所述应用程序的数据中的第一数据加载完毕,则允许用户在所述应用程序的用户界面上进行操作;及

如果所述应用程序的数据中的第一数据没有加载完毕,则拒绝用户在所述应用程序的用户界面上进行操作。

另一种可能的实现方式中,所述方法还包括:

在通过所述用户界面线程呈现所述应用程序的用户界面之前,创建所述数据加载线程,并使其处于阻塞/等待状态。

另一种可能的实现方式中,所述方法还包括:

在通过所述用户界面线程呈现所述应用程序的用户界面之前,启动数据预加载线程,通过所述数据预加载线程加载呈现所述应用程序的用户界面所需的预加载数据。

本申请的第二方面提供一种应用程序启动系统,包括:

第一启动单元,用于当侦测到启动应用程序时,启动用户界面线程,通过所述用户界面线程呈现所述应用程序的用户界面;及

第二启动单元,用于启动数据加载线程,通过所述数据加载线程加载所述应用程序的数据。

另一种可能的实现方式中,所述系统还包括:

更新单元,用于当所述应用程序的数据中的第一数据加载完毕时,通知所述用户界面线程更新所述应用程序的用户界面。

另一种可能的实现方式中,所述系统还包括:

第一控制单元,用于在所述应用程序的数据中的第一数据加载完毕后,允许用户在所述应用程序的用户界面上进行操作;及

第二控制单元,用于在所述应用程序的数据中的第一数据加载完毕之前,拒绝用户在所述应用程序的用户界面上进行操作。

另一种可能的实现方式中,所述系统还包括:

创建单元,用于在所述第一启动单元通过所述用户界面线程呈现所述应用程序的用户界面之前,创建所述数据加载线程,并使其处于阻塞/等待状态。

另一种可能的实现方式中,所述系统还包括:

预加载单元,用于在所述第一启动单元通过所述用户界面线程呈现所述应用程序的用户界面之前,启动数据预加载线程,通过所述数据预加载线程加载呈现所述应用程序的用户界面所需的预加载数据。

本发明所提供的实施例中,在启动应用程序后,可以快速呈现应用程序的用户界面,提高了用户体验,避免了由于用户界面线程长时间加载数据使得应用程序无法响应的情况。

附图说明

图1是本发明实施例一提供的应用程序启动方法的流程图。

图2是本发明实施例二提供的应用程序启动方法的流程图。

图3是本发明实施例三提供的应用程序启动方法的流程图。

图4是本发明实施例四提供的应用程序启动系统的结构图。

图5是本发明实施例五提供的应用程序启动系统的结构图。

图6是本发明实施例六提供的应用程序启动系统的结构图。

主要元件符号说明

第一启动单元 401、501、601

第二启动单元 402、502、602

更新单元 403、503、603

第一控制单元 404、504、604

第二控制单元 405、505、605

预加载单元 506

创建单元 606

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

实施例一

图1为本发明实施例一提供的应用程序启动方法的流程图。如图1所示,该方法具体包括以下步骤:

101:侦测用户是否启动应用程序。可以通过侦测用户是否执行预设的触发动作,例如长按、点击或双击应用程序的图标来确定用户是否启动应用程序。当侦测到所述预设的触发动作时,确定用户启动所述应用程序。

当未侦测到启动应用程序时,重复执行101。

102:当侦测到启动应用程序时,启动用户界面(User Interface,UI)线程。

103:通过所述UI线程呈现所述应用程序的用户界面。所述通过所述UI线程呈现所述应用程序的用户界面可以是通过所述UI线程呈现所述应用程序的主界面。所述应用程序的主界面显示所述应用程序的主要功能。在本实施例中,所述通过所述UI线程呈现所述应用程序的用户界面是通过所述UI线程呈现所述应用程序的首页。在其他的实施例中,所述通过所述UI线程呈现所述应用程序的用户界面可以是通过所述UI线程呈现所述应用程序其他的功能页面,例如用户关闭所述应用程序之前浏览的功能页面。

104:启动数据加载线程。

105:通过所述数据加载线程加载所述应用程序的数据。所述应用程序的数据可以包括所述应用程序的初始化数据,用于对所述应用程序进行数据初始化操作。

106:判断所述应用程序的数据中的第一数据是否加载完毕。如果所述应用程序的数据中的第一数据加载完毕,则依次执行107、108。否则,如果所述应用程序的数据中的第一数据没有加载完毕,则执行109。所述应用程序的数据中的第一数据可以是一部分或全部所述应用程序的数据。例如,所述应用程序的数据中的第一数据是所述应用程序的初始化数据。

107:如果所述应用程序的数据中的第一数据加载完毕,则通知所述UI线程更新所述应用程序的用户界面。

108:允许用户在所述应用程序的用户界面上进行操作。例如接收用户在所述应用程序的用户界面上对功能按钮的点击操作,以对该点击操作进行响应。

109:如果所述应用程序的数据中的第一数据没有加载完毕,则禁止用户在所述应用程序的用户界面上进行操作。例如,如果所述应用程序的数据中的第一数据没有加载完毕,则当用户点击所述应用程序的用户界面上的功能按钮时,提示用户“数据加载未完成,请稍后再试”。

实施例二

图2为本发明实施例二提供的应用程序启动方法的流程图。如图2所示,该方法具体包括以下步骤:

201:侦测用户是否启动应用程序。可以通过侦测用户是否执行预设的触发动作,例如长按、点击或双击应用程序的图标来确定用户是否启动应用程序。当侦测到所述预设的触发动作时,确定用户启动所述应用程序。

当未侦测到启动应用程序时,重复执行201。

202:当侦测到启动应用程序时,启动数据预加载线程。

203:通过所述数据预加载线程加载呈现所述应用程序的用户界面必需的预加载数据。

204:启动用户界面(User Interface,UI)线程。

205:根据所述预加载数据通过所述UI线程呈现所述应用程序的用户界面。所述通过所述UI线程呈现所述应用程序的用户界面可以是通过所述UI线程呈现所述应用程序的主界面。所述应用程序的主界面显示所述应用程序的主要功能。在本实施例中,所述通过所述UI线程呈现所述应用程序的用户界面是通过所述UI线程呈现所述应用程序的首页。在其他的实施例中,所述通过所述UI线程呈现所述应用程序的用户界面可以是通过所述UI线程呈现所述应用程序其他的功能页面,例如用户关闭所述应用程序之前浏览的功能页面。

206:启动数据加载线程。

207:通过所述数据加载线程加载所述应用程序的数据。所述应用程序的数据可以包括所述应用程序的初始化数据,用于对所述应用程序进行数据初始化操作。

208:判断所述应用程序的数据中的第一数据是否加载完毕。如果所述应用程序的数据中的第一数据加载完毕,则依次执判断行209、210。否则,如果所述应用程序的数据中的第一数据没有加载完毕,则执行211。所述应用程序的数据中的第一数据可以是一部分或全部所述应用程序的数据。例如,所述应用程序的数据中的第一数据是所述应用程序的初始化数据。

209:如果所述应用程序的数据中的第一数据加载完毕,则通知所述UI线程更新所述应用程序的用户界面。

210:允许用户在所述应用程序的用户界面上进行操作。例如接收用户在所述应用程序的用户界面上对功能按钮的点击操作,以对该点击操作进行响应。

211:如果所述应用程序的数据中的第一数据没有加载完毕,则禁止用户在所述应用程序的用户界面上进行操作。例如,如果所述应用程序的数据中的第一数据没有加载完毕,则当用户点击所述应用程序的用户界面上的功能按钮时,提示用户“数据加载未完成,请稍后再试”。

实施例三

图3为本发明实施例三提供的应用程序启动方法的流程图。如图3所示,该方法具体包括以下步骤:

301:创建数据加载线程,使所述数据加载线程处于阻塞/等待状态。当所述数据加载线程处于阻塞/等待状态时,所述数据加载线程并不执行数据加载操作。

302:侦测用户是否启动应用程序。可以通过侦测用户是否执行预设的触发动作,例如长按、点击或双击应用程序的图标来确定用户是否启动应用程序。当侦测到所述预设的触发动作时,确定用户启动所述应用程序。

当未侦测到启动应用程序时,重复执行302。

303:当侦测到启动应用程序时,启动用户界面(User Interface,UI)线程。

304:通过所述UI线程呈现所述应用程序的用户界面。所述通过所述UI线程呈现所述应用程序的用户界面可以是通过所述UI线程呈现所述应用程序的主界面。所述应用程序的主界面显示所述应用程序的主要功能。在本实施例中,所述通过所述UI线程呈现所述应用程序的用户界面是通过所述UI线程呈现所述应用程序的首页。在其他的实施例中,所述通过所述UI线程呈现所述应用程序的用户界面可以是通过所述UI线程呈现所述应用程序其他的功能页面,例如用户关闭所述应用程序之前浏览的功能页面。

305:在呈现所述应用程序的用户界面后,启动所述数据加载线程。

306:通过所述数据加载线程加载所述应用程序的数据所述应用程序的数据可以包括所述应用程序的初始化数据,用于对所述应用程序进行数据初始化操作。

307:判断所述应用程序的数据中的第一数据是否加载完毕。如果所述应用程序的数据中的第一数据加载完毕,则依次执判断行308、309。否则,如果所述应用程序的数据中的第一数据没有加载完毕,则执行310。所述应用程序的数据中的第一数据可以是一部分或全部所述应用程序的数据。例如,所述应用程序的数据中的第一数据是所述应用程序的初始化数据。

308:如果所述应用程序的数据中的第一数据加载完毕,则通知所述UI线程更新所述应用程序的用户界面。

309:允许用户在所述应用程序的用户界面上进行操作。例如接收用户在所述应用程序的用户界面上对功能按钮的点击操作,以对该点击操作进行响应。

310:如果所述应用程序的数据中的第一数据没有加载完毕,则禁止用户在所述应用程序的用户界面上进行操作。例如,如果所述应用程序的数据中的第一数据没有加载完毕,则当用户点击所述应用程序的用户界面上的功能按钮时,提示用户“数据加载未完成,请稍后再试”。

实施例三在呈现应用程序的用户界面之前预先创建好数据加载线程,在UI线程呈现应用程序的用户界面后启动该创建好的数据加载线程,从而进一步加快应用程序启动速度。

以上是对本发明所提供的方法进行的详细描述。根据不同的需求,所示流程图中方块的执行顺序可以改变,某些方块可以省略。例如,在上述实施例一~三中,均包括“如果所述应用程序的数据中的第一数据加载完毕,允许用户在所述应用程序的用户界面上进行操作”及“如果所述应用程序的数据中的第一数据没有加载完毕,则禁止用户在所述应用程序的用户界面上进行操作”。在其他的实施例中,上述步骤可以省略。下面对本发明所提供的系统进行描述。

实施例四

图4为本发明实施例四提供的应用程序启动系统的结构图。如图4所示,所述应用程序启动系统可以包括:第一启动单元401、第二启动单元402、更新单元403、第一控制单元404及第二控制单元405。

第一启动单元401,用于侦测用户是否启动应用程序。所述第一启动单元401可以通过侦测用户是否执行预设的触发动作,例如长按、点击或双击应用程序的图标来确定用户是否启动应用程序。当侦测到所述预设的触发动作时,所述第一启动单元401确定用户启动所述应用程序。

所述第一启动单元401,还用于当侦测到启动应用程序时,启动用户界面(User Interface,UI)线程,通过所述UI线程呈现所述应用程序的用户界面。所述第一启动单元401可以通过所述UI线程呈现所述应用程序的主界面。所述应用程序的主界面显示所述应用程序的主要功能。在本实施例中,所述第一启动单元401通过所述UI线程呈现所述应用程序的首页。在其他的实施例中,所述第一启动单元401可以通过所述UI线程呈现所述应用程序其他的功能页面,例如用户关闭所述应用程序之前浏览的功能页面。

第二启动单元402,用于启动数据加载线程,通过所述数据加载线程加载所述应用程序的数据。所述应用程序的数据可以包括所述应用程序的初始化数据,用于对所述应用程序进行数据初始化操作。在本实施例中,第二启动单元402在呈现所述应用程序的用户界面后启动数据加载线程。

更新单元403,用于当所述应用程序的数据中的第一数据加载完毕时,通知所述UI线程更新所述应用程序的用户界面。所述应用程序的数据中的第一数据可以是一部分或全部所述应用程序的数据。例如,所述应用程序的数据中的第一数据是所述应用程序的初始化数据。

第一控制单元404,用于在所述应用程序的数据中的第一数据加载完毕后,允许用户在所述应用程序的用户界面上进行操作。例如接收用户在所述应用程序的用户界面上对功能按钮的点击操作,以对该点击操作进行响应。

第二控制单元405,用于在所述应用程序的数据中的第一数据加载完毕之前,拒绝用户在所述应用程序的用户界面上进行操作。例如,如果所述应用程序的数据中的第一数据没有加载完毕,则当用户点击所述应用程序的用户界面上的功能按钮时,提示用户“数据加载未完成,请稍后再试”。

实施例五

图5为本发明实施例四提供的应用程序启动系统的结构图。如图5所示,所述应用程序启动系统可以包括:第一启动单元501、第二启动单元502、更新单元503、第一控制单元504、第二控制单元505及预加载单元506。

第一启动单元501,用于侦测用户是否启动应用程序。所述第一启动单元501可以通过侦测用户是否执行预设的触发动作,例如长按、点击或双击应用程序的图标来确定用户是否启动应用程序。当侦测到所述预设的触发动作时,所述第一启动单元501确定用户启动所述应用程序。

所述第一启动单元501,还用于当侦测到启动应用程序时,启动用户界面(User Interface,UI)线程,通过所述UI线程呈现所述应用程序的用户界面。所述第一启动单元501可以通过所述UI线程呈现所述应用程序的主界面。所述应用程序的主界面显示所述应用程序的主要功能。在本实施例中,所述第一启动单元501通过所述UI线程呈现所述应用程序的首页。在其他的实施例中,所述第一启动单元501可以通过所述UI线程呈现所述应用程序其他的功能页面,例如用户关闭所述应用程序之前浏览的功能页面。

第二启动单元502,用于启动数据加载线程,通过所述数据加载线程加载所述应用程序的数据。所述应用程序的数据可以包括所述应用程序的初始化数据,用于对所述应用程序进行数据初始化操作。在本实施例中,第二启动单元502在呈现所述应用程序的用户界面后启动数据加载线程。

更新单元503,用于当所述应用程序的数据中的第一数据加载完毕时,通知所述UI线程更新所述应用程序的用户界面。所述应用程序的数据中的第一数据可以是一部分或全部所述应用程序的数据。例如,所述应用程序的数据中的第一数据是所述应用程序的初始化数据。

第一控制单元504,用于在所述应用程序的数据中的第一数据加载完毕后,允许用户在所述应用程序的用户界面上进行操作。例如接收用户在所述应用程序的用户界面上对功能按钮的点击操作,以对该点击操作进行响应。

第二控制单元505,用于在所述应用程序的数据中的第一数据加载完毕之前,拒绝用户在所述应用程序的用户界面上进行操作。例如,如果所述应用程序的数据中的第一数据没有加载完毕,则当用户点击所述应用程序的用户界面上的功能按钮时,提示用户“数据加载未完成,请稍后再试”。

预加载单元506,用于在所述第一启动单元501通过所述用户界面线程呈现所述应用程序的用户界面之前,启动数据预加载线程,通过所述数据预加载线程加载呈现所述应用程序的用户界面所需的预加载数据。

实施例六

图6为本发明实施例四提供的应用程序启动系统的结构图。如图6所示,所述应用程序启动系统可以包括:第一启动单元601、第二启动单元602、更新单元603、第一控制单元604、第二控制单元605及创建单元606。

第一启动单元601,用于侦测用户是否启动应用程序。所述第一启动单元601可以通过侦测用户是否执行预设的触发动作,例如长按、点击或双击应用程序的图标来确定用户是否启动应用程序。当侦测到所述预设的触发动作时,所述第一启动单元601确定用户启动所述应用程序。

所述第一启动单元601,还用于当侦测到启动应用程序时,启动用户界面(User Interface,UI)线程,通过所述UI线程呈现所述应用程序的用户界面。所述第一启动单元601可以通过所述UI线程呈现所述应用程序的主界面。所述应用程序的主界面显示所述应用程序的主要功能。在本实施例中,所述第一启动单元601通过所述UI线程呈现所述应用程序的首页。在其他的实施例中,所述第一启动单元601可以通过所述UI线程呈现所述应用程序其他的功能页面,例如用户关闭所述应用程序之前浏览的功能页面。

第二启动单元602,用于启动数据加载线程,通过所述数据加载线程加载所述应用程序的数据。所述应用程序的数据可以包括所述应用程序的初始化数据,用于对所述应用程序进行数据初始化操作。在本实施例中,第二启动单元602在呈现所述应用程序的用户界面后启动数据加载线程。

更新单元603,用于当所述应用程序的数据中的第一数据加载完毕时,通知所述UI线程更新所述应用程序的用户界面。所述应用程序的数据中的第一数据可以是一部分或全部所述应用程序的数据。例如,所述应用程序的数据中的第一数据是所述应用程序的初始化数据。

第一控制单元604,用于在所述应用程序的数据中的第一数据加载完毕后,允许用户在所述应用程序的用户界面上进行操作。例如接收用户在所述应用程序的用户界面上对功能按钮的点击操作,以对该点击操作进行响应。

第二控制单元605,用于在所述应用程序的数据中的第一数据加载完毕之前,拒绝用户在所述应用程序的用户界面上进行操作。例如,如果所述应用程序的数据中的第一数据没有加载完毕,则当用户点击所述应用程序的用户界面上的功能按钮时,提示用户“数据加载未完成,请稍后再试”。

创建单元606,用于在所述第一启动单元601通过所述用户界面线程呈现所述应用程序的用户界面之前,创建所述数据加载线程,并使其处于阻塞/等待状态。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是手持式电子设备,如智能手机、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、智能式穿戴式设备等,也可以是桌面式电子设备,如台式机、智能电视等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由同一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

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