快速启动网络应用的方法和电子设备的制作方法

文档序号:6501132阅读:166来源:国知局
快速启动网络应用的方法和电子设备的制作方法
【专利摘要】提供了一种快速启动网络应用的方法和电子设备。该快速启动网络应用的方法应用于电子设备中,所述方法包括:在所述电子设备启动时,自动启动空的网络应用线程;接收启动特定网络应用的操作输入;响应于该操作输入,通过第一操作在所述空的网络应用线程中生成至少一个新的网络应用子线程;通过所述新的网络应用子线程加载所述特定网络应用的内容,其中,所述多个应用子线程组成一个网络应用进程;以及渲染并运行所述特定网络应用。
【专利说明】快速启动网络应用的方法和电子设备

【技术领域】
[0001]本发明涉及电子设备的领域,更具体地,本发明涉及一种快速启动网络应用的方法和电子设备。

【背景技术】
[0002]随着网络技术的发展,各种网络应用成为用户关注的热点。但是网络应用的启动速度一直饱受诟病。例如,目标的网络应用从用户点击网络应用的图标到网络应用的内容显示完成,启动时间往往超过3秒,使得用户体验较差,感觉系统性能太差。
[0003]为此,期望提供一种快速启动网络应用的方法和电子设备,其能够快速启动网络应用,从而改善用户使用体验。


【发明内容】

[0004]根据本发明一个实施例,提供了一种快速启动网络应用的方法,应用于电子设备中,所述方法包括:
[0005]在所述电子设备启动时,自动启动空的网络应用线程;
[0006]接收启动特定网络应用的操作输入;
[0007]响应于该操作输入,通过第一操作在所述空的网络应用线程中生成至少一个新的网络应用子线程;
[0008]通过所述新的网络应用子线程加载所述特定网络应用的内容,其中,所述多个应用子线程组成一个网络应用进程;以及
[0009]渲染并运行所述特定网络应用。
[0010]优选地,启动空的网络应用线程包括:
[0011]启动存根应用;以及
[0012]加载并初始化网络视图库,所述网络视图库用于渲染并呈现网络应用的内容。
[0013]优选地,通过第一操作在所述空的网络应用线程中生成一个新的网络应用子线程包括:
[0014]通过调用fork函数,在所述空的网络应用线程中复制一个新的网络应用子线程,所述新的网络应用子线程具有所述空的网络应用线程的全部资源。
[0015]优选地,通过所述新的网络应用子线程加载所述特定网络应用的内容包括:
[0016]在所述新的网络应用子线程中加载所述特定网络应用的代码;和/或
[0017]在所述新的网络应用子线程中加载所述特定网络应用的页面。
[0018]优选地,渲染并运行所述特定网络应用包括:
[0019]根据所述特定网络应用的代码,渲染并运行与所述代码对应的网络应用;和/或
[0020]根据所述特定网络应用的页面,渲染并运行与所述页面对应的网络应用。
[0021]根据本发明另一实施例,提供了一种电子设备,包括:
[0022]线程启动单元,用于在所述电子设备启动时,自动启动空的网络应用线程;
[0023]操作输入单元,用于接收启动特定网络应用的操作输入;
[0024]子线程生成单元,用于响应于该操作输入,通过第一操作在所述空的网络应用线程中生成至少一个新的网络应用子线程;
[0025]内容加载单元,用于通过所述新的网络应用子线程加载所述特定网络应用的内容,其中,所述多个应用子线程组成一个网络应用进程;以及
[0026]运行单元,用于渲染并运行所述特定网络应用。
[0027]优选地,所述线程启动单元进一步用于:
[0028]启动存根应用;以及
[0029]加载并初始化网络视图库,所述网络视图库用于渲染并呈现网络应用的内容。
[0030]优选地,所述子线程生成单元通过调用fork函数,在所述空的网络应用线程中复制一个新的网络应用子线程,所述新的网络应用子线程具有所述空的网络应用线程的全部资源。
[0031]优选地,所述内容加载单元在所述新的网络应用子线程中加载所述特定网络应用的代码;和/或在所述新的网络应用子线程中加载所述特定网络应用的页面。
[0032]优选地,所述运行单元根据所述特定网络应用的代码,渲染并运行与所述代码对应的网络应用;和/或根据所述特定网络应用的页面,渲染并运行与所述页面对应的网络应用。
[0033]因此,根据本发明实施例的快速启动网络应用的方法和电子设备,其能够快速启动网络应用,从而改善用户使用体验。

【专利附图】

【附图说明】
[0034]图1是图示现有技术的网络应用启动过程的流程图;
[0035]图2是图示根据本发明第一实施例的应用启动方法的流程图;
[0036]图3是图示根据本发明第一实施例的网络应用启动过程的流程图;
[0037]图4是图示根据本发明第一实施例的应用启动方法的流程图;以及
[0038]图5是图示根据本发明第二实施例的电子设备的功能框图。

【具体实施方式】
[0039]以下,将参考附图详细描述本发明的优选实施例。
[0040]在描述本发明的优选实施例之前,先简单描述现有技术的网络应用启动过程。
[0041]随着1S、Android等操作系统对HTML5的支持,通过存根程序加载HTML5、CSS5、Javascript开发的网络应用(Web App)成为可行,但Web App的启动速度一直饱受垢病。
[0042]如图1所示,现有的WebApp的启动过程100包括以下几个步骤:
[0043]步骤SlOl:用户点击WebApp的图标。
[0044]步骤S102:启动存根应用。
[0045]步骤S103:加载网络视图(WebView)的库。
[0046]步骤S104:加载WebApp的页面。
[0047]步骤S105:开始渲染和启动WebApp。
[0048]也就是说,当用户开始点击期望运行的WebApp的图标之后,需要经过启动存根应用,加载WebView的库,加载WebApp的页面,以及开始渲染和启动WebApp四个阶段。假设从步骤SlOl到步骤S103所需时间为tl,从步骤S104到步骤S105所需时间为t2,则从用户点击WebApp的图标到WebApp的内容显示完成,所需启动时间为tl+t2,该时间tl+t2往往超过3秒。因此,即使电子设备的硬件配置很高,也使得用户感觉系统性能太差,从而导致用户体验较差。
[0049]<第一实施例>
[0050]根据本发明第一实施例的快速启动网络应用的方法考虑以上问题而做出。也就是说,要优化WebApp的启动速度,首先需要考虑优化WebApp的启动流程。
[0051]在操作系统中启动不同WebApp的过程中,“启动存根应用”和“加载、初始化WebView的库”这两个过程都是一样的。另一方面,“加载WebApp的页面”和“开始渲染和启动WebApp”的过程则根据WebApp的不同而不同。因此,考虑以上情况来改进WebApp的启动速度。
[0052]根据本发明第一实施例的快速启动网络应用的方法应用于电子设备中,该电子设备可以是任何电子设备,只要该电子设备能够运行WebApp即可。这样的电子设备的例子包括台式机、平板电脑、智能手机、智能电视等等。
[0053]该快速启动网络应用的方法200包括:
[0054]步骤S201:在所述电子设备启动时,自动启动空的网络应用线程;
[0055]步骤S202:接收启动特定网络应用的操作输入;
[0056]步骤S203:响应于该操作输入,通过第一操作在所述空的网络应用线程中生成至少一个新的网络应用子线程;
[0057]步骤S204:通过所述新的网络应用子线程加载所述特定网络应用的内容,其中,所述多个应用子线程组成一个网络应用进程;以及
[0058]步骤S205:渲染并运行所述特定网络应用。
[0059]具体来说,在步骤S201中,当电子设备启动时,在操作系统启动后,操作系统自动启动一个空的网络应用线程(即,启动一个空的WebApp )。
[0060]启动空的WebApp的过程包括:启动存根应用以及加载并初始化网络视图(WebVi ew )库,所述网络视图库用于渲染并呈现网络应用的内容。
[0061]此外,在加载WebView库之后,还可以加载Javascript库,用于运行Java程序。
[0062]在步骤S202中,接收启动特定网络应用的操作输入。例如,可以检测用户对于特定WebApp的图标的点击操作作为操作输入。或者,可以检测用户对于网页、邮件、即时通讯消息中的链接的点击操作作为操作输入,该链接指向特定的WebApp。
[0063]在步骤S203中,响应于该操作输入,通过第一操作在所述空的网络应用线程中生成至少一个新的网络应用子线程。也就是说,当检测到用户启动特定WebApp的操作输入时,通过第一操作在步骤S201中已经生成的空的WebApp线程中生成至少一个新的WebApp子线程。
[0064]具体来说,通过调用fork函数,在所述空的网络应用线程中复制一个新的网络应用子线程,所述新的网络应用子线程具有所述空的网络应用线程的全部资源。
[0065]也就是说,fork ()函数通过系统调用,创建一个与原来线程几乎完全相同的线程,该线程具有与原来线程相同的代码、数据和分配给线程的资源(例如,存储数据和代码的空间)。
[0066]然后,在步骤S204中,通过所述新的网络应用子线程加载所述特定网络应用的内容。也就是说,通过用fork ()函数创建的线程,加载用户选择启动的网络应用的内容(如WebApp代码、页面等)。
[0067]具体来说,通过所述新的网络应用子线程加载所述特定网络应用的内容包括:在所述新的网络应用子线程中加载所述特定网络应用的代码;和/或在所述新的网络应用子线程中加载所述特定网络应用的页面。
[0068]需要注意的是,包括上述空的网络应用子线程、复制的新的网络应用子线程的所述多个应用子线程组成一个网络应用进程。一个线程是可以完成一个完整应用,从而不仅LUNIX的系统情况下,而且在Windows的系统情况下,也可以进行上述操作。
[0069]然后,步骤S205中,渲染并运行WebApp代码,从而开始运行用户选择启动的WebApp0
[0070]具体来说,渲染并运行所述特定网络应用包括:根据所述特定网络应用的代码,渲染并运行与所述代码对应的网络应用;和/或根据所述特定网络应用的页面,渲染并运行与所述页面对应的网络应用。
[0071]根据上面的描述可知,“启动存根应用”和“加载、初始化WebView的库”这两个过程对于所有的WebApp的启动都是相同的,所需时间为tl。加载WebApp的页面和开始渲染和启动WebApp所需时间为t2。
[0072]因此,当采用根据本发明第一实施例的快速启动网络应用的方法时,如图3所示,当用户选择启动WebApp时,WebApp的启动过程包括:在空的WebApp线程中fork出一个子线程,加载WebApp的页面,以及开始渲染和启动WebApp。此时,启动WebApp所需时间为在空的WebApp线程中fork出一个子线程所需的时间tl’加上加载WebApp的页面和开始渲染和启动WebApp所需时间t2。然而,在空的WebApp线程中fork出一个子线程所需的时间tl’几乎可以忽略,所以根据本发明第一实施例的方法,启动WebApp所需时间基本等于t2。
[0073]由此可见,与现有技术的WebApp的启动方法相比,可以减少“启动存根应用”和“加载、初始化WebView的库”所需的时间tl,从而用户感觉WebApp的启动速度大大加快。
[0074]因此,根据本发明实施例的快速启动网络应用的方法,能够快速启动网络应用,从而改善用户使用体验。
[0075]<第二实施例>
[0076]下面,参考图4描述根据本发明第二实施例的快速启动网络应用的方法300。该快速启动网络应用的方法300包括:
[0077]步骤S301:在所述电子设备启动时,自动启动空的网络应用进程;
[0078]步骤S302:接收启动特定网络应用的操作输入;
[0079]步骤S303:响应于该操作输入,通过第一操作在所述空的网络应用进程中生成至少一个新的网络应用子进程;
[0080]步骤S304:通过所述新的网络应用子进程加载所述特定网络应用的内容;以及
[0081]步骤S305:渲染并运行所述特定网络应用。
[0082]根据本发明第二实施例的快速启动网络应用的方法300与根据本发明第一实施例的快速启动网络应用的方法200的不同在于:在方法200中,在电子设备启动之后,自动启动空的网络应用线程,而在方法300中,在电子设备启动之后,自动启动空的网络应用进程。然后,在方法300中,通过fork ()函数在空的网络应用进程中生成至少一个新的网络应用子进程,并且通过新的网络应用子进程加载所述特定网络应用的内容,以便渲染并运行所述特定网络应用。
[0083]与第一实施例相同,此时启动WebApp所需时间为在空的WebApp进程中fork出一个子进程所需的时间tl’ ’加上加载WebApp的页面和开始渲染和启动WebApp所需时间t2。然而,在空的WebApp进程中fork出一个子进程所需的时间tl’’几乎可以忽略,所以根据本发明第一实施例的方法,启动WebApp所需时间基本等于t2。
[0084]根据本发明第二实施例的快速启动网络应用的方法300的其它操作与根据本发明第一实施例的方法200相似。
[0085]具体来说,通过调用fork函数,在所述空的网络应用进程中复制一个新的网络应用子进程,所述新的网络应用子进程具有所述空的网络应用进程的全部资源。
[0086]也就是说,fork ()函数通过系统调用,创建一个与原来进程几乎完全相同的进程,该进程具有与原来进程相同的代码、数据和分配给进程的资源(例如,存储数据和代码的空间)。
[0087]然后,在步骤S304中,通过所述新的网络应用子进程加载所述特定网络应用的内容。也就是说,通过用fork ()函数创建的进程,加载用户选择启动的网络应用的内容(如WebApp代码、页面等)。
[0088]具体来说,通过所述新的网络应用子进程加载所述特定网络应用的内容包括:在所述新的网络应用子进程中加载所述特定网络应用的代码;和/或在所述新的网络应用子进程中加载所述特定网络应用的页面。
[0089]由此可见,与现有技术的WebApp的启动方法相比,可以减少“启动存根应用”和“加载、初始化WebView的库”所需的时间tl,从而用户感觉WebApp的启动速度大大加快。
[0090]因此,根据本发明实施例的快速启动网络应用的方法,能够快速启动网络应用,从而改善用户使用体验。
[0091]〈第三实施例〉
[0092]下面,参考图5描述根据本发明第三实施例的电子设备400。
[0093]根据本发明第二实施例的电子设备400包括:
[0094]线程启动单元401,用于在所述电子设备启动时,自动启动空的网络应用线程;
[0095]操作输入单元402,用于接收启动特定网络应用的操作输入;
[0096]子线程生成单元403,用于响应于该操作输入,通过第一操作在所述空的网络应用线程中生成至少一个新的网络应用子线程;
[0097]内容加载单元404,用于通过所述新的网络应用子线程加载所述特定网络应用的内容,其中,所述多个应用子线程组成一个网络应用进程;以及
[0098]运行单元405,用于渲染并运行所述特定网络应用。
[0099]所述线程启动单元401进一步用于:
[0100]启动存根应用;以及
[0101]加载并初始化网络视图库,所述网络视图库用于渲染并呈现网络应用的内容。
[0102]所述子线程生成单元403通过调用fork函数,在所述空的网络应用线程中复制一个新的网络应用子线程,所述新的网络应用子线程具有所述空的网络应用线程的全部资源。
[0103]所述内容加载单元404在所述新的网络应用子线程中加载所述特定网络应用的代码;和/或在所述新的网络应用子线程中加载所述特定网络应用的页面。
[0104]所述运行单元405根据所述特定网络应用的代码,渲染并运行与所述代码对应的网络应用;和/或根据所述特定网络应用的页面,渲染并运行与所述页面对应的网络应用。
[0105]因此,根据本发明实施例的电子设备,能够快速启动网络应用,从而改善用户使用体验。
[0106]需要注意的是,上面的实施例仅仅是用作示例,本发明不限于这样的示例,而是可以进行各种变化。
[0107] 需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0108]最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
[0109]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM (只读存储器)/RAM (随机存取存储器)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0110]以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种快速启动网络应用的方法,应用于电子设备中,所述方法包括: 在所述电子设备启动时,自动启动空的网络应用线程; 接收启动特定网络应用的操作输入; 响应于该操作输入,通过第一操作在所述空的网络应用线程中生成至少一个新的网络应用子线程; 通过所述新的网络应用子线程加载所述特定网络应用的内容,其中,所述多个应用子线程组成一个网络应用进程;以及渲染并运行所述特定网络应用。
2.如权利要求1所述的方法,其中启动空的网络应用线程包括: 启动存根应用;以及 加载并初始化网络视图库,所述网络视图库用于渲染并呈现网络应用的内容。
3.如权利要求1所述的方法,其中,通过第一操作在所述空的网络应用线程中生成一个新的网络应用子线程包括: 通过调用fork函数,在所述空的网络应用线程中复制一个新的网络应用子线程,所述新的网络应用子线程具有所述空的网络应用线程的全部资源。
4.如权利要求1所述的方法,其中,通过所述新的网络应用子线程加载所述特定网络应用的内容包括: 在所述新的网络应用子线程中加载所述特定网络应用的代码;和/或 在所述新的网络应用子线程中加载所述特定网络应用的页面。
5.如权利要求4所述的方法,其中,渲染并运行所述特定网络应用包括: 根据所述特定网络应用的代码,渲染并运行与所述代码对应的网络应用;和/或 根据所述特定网络应用的页面,渲染并运行与所述页面对应的网络应用。
6.—种电子设备,包括: 线程启动单元,用于在所述电子设备启动时,自动启动空的网络应用线程; 操作输入单元,用于接收启动特定网络应用的操作输入; 子线程生成单元,用于响应于该操作输入,通过第一操作在所述空的网络应用线程中生成至少一个新的网络应用子线程; 内容加载单元,用于通过所述新的网络应用子线程加载所述特定网络应用的内容,其中,所述多个应用子线程组成一个网络应用进程;以及运行单元,用于渲染并运行所述特定网络应用。
7.如权利要求6所述的电子设备,其中所述线程启动单元进一步用于: 启动存根应用;以及 加载并初始化网络视图库,所述网络视图库用于渲染并呈现网络应用的内容。
8.如权利要求6所述的电子设备,其中,所述子线程生成单元通过调用fork函数,在所述空的网络应用线程中复制一个新的网络应用子线程,所述新的网络应用子线程具有所述空的网络应用线程的全部资源。
9.如权利要求6所述的电子设备,其中,所述内容加载单元在所述新的网络应用子线程中加载所述特定网络应用的代码;和/或在所述新的网络应用子线程中加载所述特定网络应用的页面。
10.如权利要求6所述的电子设备,其中,所述运行单元根据所述特定网络应用的代码,渲染并运行与所述代码对应的网络应用;和/或根据所述特定网络应用的页面,渲染并运行与所述页面对应 的网络应用。
【文档编号】G06F9/445GK104077151SQ201310100515
【公开日】2014年10月1日 申请日期:2013年3月26日 优先权日:2013年3月26日
【发明者】史子旺 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1