CN104461632B - 一种Web App加载方法及装置 - Google Patents
一种Web App加载方法及装置 Download PDFInfo
- Publication number
- CN104461632B CN104461632B CN201410754020.8A CN201410754020A CN104461632B CN 104461632 B CN104461632 B CN 104461632B CN 201410754020 A CN201410754020 A CN 201410754020A CN 104461632 B CN104461632 B CN 104461632B
- Authority
- CN
- China
- Prior art keywords
- page
- assembly
- loaded
- pond
- page assembly
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种Web App加载方法及装置,用于提高加载速度,该方法包括:创建包括多个页面组件的页面组件池;读取待加载页面的页面标识信息,如果根据页面标识信息判断当前任一页面组件中已加载待加载页面,则直接调用该页面组件显示待加载页面;如果根据页面标识信息判断当前各个页面组件中均未加载待加载页面,则从页面组件池中选择一个页面组件,使用所选择的页面组件加载待加载页面;具体的,当缓存有待加载页面的页面标识信息对应的页面解析信息时,获取页面解析信息,使用所选择的页面组件加载待加载页面;当未缓存待加载页面的页面标识信息对应的页面解析信息时,生成页面解析信息,使用所选择的页面组件加载待加载页面。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种Web App加载方法及装置。
背景技术
近年来,随着智能移动设备计算能力的日益强大、触控体验的逐步完善以及移动互联网和云端服务化的日益普及,移动App市场发展迅猛。目前,原生应用在消费生活类应用领域占据着主导地位,但是当前智能终端平台繁多,碎片化严重,导致开发成本剧增,学习曲线陡峭,跨平台资源复用困难。随着HTML5作为一种通用技术标准的提出,为跨终端移动应用开发带来了一丝曙光,越来越多的厂商和开发者开始基于HTML5构建网页应用WebApp。
在现有技术中Web App的开发框架均通过单一窗体加载切换不同的页面,直接导致Web App在页面切换过程中的不流畅,且每次加载页面速度较慢。
发明内容
有鉴于此,本发明提供一种Web App加载方法及装置,以解决现有技术中运行WebApp切换不流畅且加载速度慢的技术问题。
为解决上述问题,本发明提供的技术方案如下:
一种网页应用Web App加载方法,所述方法包括:
在所述Web App启动时,创建页面组件池,所述页面组件池中包括多个 页面组件;
读取待加载页面的页面标识信息,如果根据所述页面标识信息判断当前任一所述页面组件中已加载所述待加载页面,则直接调用该页面组件显示所述待加载页面;
如果根据所述页面标识信息判断当前各个所述页面组件中均未加载所述待加载页面,则从所述页面组件池中选择一个页面组件,使用所选择的页面组件加载所述待加载页面;
所述使用所选择的页面组件加载所述待加载页面包括:当缓存有所述待加载页面的页面标识信息对应的页面解析信息时,获取所述页面解析信息,使用所选择的页面组件加载所述待加载页面;当未缓存所述待加载页面的页面标识信息对应的页面解析信息时,生成页面解析信息,使用所选择的页面组件加载所述待加载页面。
相应的,从所述页面组件池中选择一个页面组件,包括:
判断所述页面组件池中是否有空闲页面组件,如果有空闲页面组件,则选择任一所述空闲页面组件,如果没有空闲页面组件,则选择所述页面组件池中最先被使用的页面组件。
相应的,所述方法还包括:
在使用所选择的页面组件加载所述待加载页面之前,缓存该页面组件中加载页面的页面解析信息,所述页面解析信息与该页面组件中加载页面的页面标识信息相对应。
相应的,所述创建网页组件池,包括:
从配置文件中读取网页组件池的配置参数,所述配置参数包括网页组件池的初始化数量;
按照所述初始化数量创建相应数量的网页组件,构成网页组件池。
相应的,所述方法还包括:
当已加载页面的网页组件超过第一预设时间未被调用显示所述待加载页面时,将该网页组件恢复为空闲页面组件。
相应的,所述方法还包括:
如果在第二预设时间内判断没有空闲页面组件的次数超过第一预设次数,则根据所述Web App可用内存增加所述页面组件池中页面组件的数量;
如果在第二预设时间内判断有空闲页面组件的次数超过第二预设次数,则减少所述页面组件池中页面组件的数量。
相应的,所述根据所述Web App内存情况增加所述页面组件池中页面组件的数量,包括:
从配置文件中读取网页组件池的配置参数,所述配置参数包括网页组件池的最大网页组件数量;
如果当前所述页面组件池中页面组件的数量小于所述最大网页组件数量,则读取所述Web App当前可用内存;
如果所述Web App当前可用内存大于一个网页组件所需内存,则创建一个新的网页组件加入所述网页组件池。
一种网页应用Web App加载装置,所述装置包括:
创建单元,用于在所述Web App启动时,创建页面组件池,所述页面组件池中包括多个页面组件;
读取单元,用于读取待加载页面的页面标识信息;
调用单元,用于如果根据所述页面标识信息判断当前任一所述页面组件中已加载所述待加载页面,则直接调用该页面组件显示所述待加载页面;
选择单元,用于如果根据所述页面标识信息判断当前各个所述页面组件中均未加载所述待加载页面,则从所述页面组件池中选择一个页面组件;
加载单元,用于使用所述选择单元所选择的页面组件加载所述待加载页面;
所述加载单元具体用于:当缓存有所述待加载页面的页面标识信息对应的页面解析信息时,获取所述页面解析信息,使用所选择的页面组件加载所述待加载页面;当未缓存所述待加载页面的页面标识信息对应的页面解析信息时,生成页面解析信息,使用所选择的页面组件加载所述待加载页面。
相应的,所述选择单元包括:
判断子单元,用于判断所述页面组件池中是否有空闲页面组件;
第一选择子单元,用于如果所述判断子单元判断有空闲页面组件,则选择任一所述空闲页面组件;
第二判断子单元,用于如果所述判断子单元判断没有空闲页面组件,则选择所述页面组件池中最先被使用的页面组件。
相应的,所述装置还包括:
缓存单元,用于在所述加载单元使用所选择的页面组件加载所述待加载页面之前,缓存该页面组件中加载页面的页面解析信息,所述页面解析信息与该页面组件中加载页面的页面标识信息相对应。
相应的,所述创建单元包括:
第一读取子单元,用于在所述Web App启动时,从配置文件中读取网页组件池的配置参数,所述配置参数包括网页组件池的初始化数量;
第一创建子单元,用于按照所述初始化数量创建相应数量的网页组件,构成网页组件池。
相应的,所述装置还包括:
恢复单元,用于当已加载页面的网页组件超过第一预设时间未被调用显示所述待加载页面时,将该网页组件恢复为空闲页面组件。
相应的,所述装置还包括:
增加单元,用于如果在第二预设时间内判断没有空闲页面组件的次数超过第一预设次数,则根据所述Web App可用内存增加所述页面组件池中页面 组件的数量;
减少单元,用于如果在第二预设时间内判断有空闲页面组件的次数超过第二预设次数,则减少所述页面组件池中页面组件的数量。
相应的,所述增加单元包括:
第二读取子单元,用于如果在第二预设时间内判断没有空闲页面组件的次数超过第一预设次数,则从配置文件中读取网页组件池的配置参数,所述配置参数包括网页组件池的最大网页组件数量;
第三读取子单元,用于如果当前所述页面组件池中页面组件的数量小于所述最大网页组件数量,则读取所述Web App当前可用内存;
第二创建子单元,用于如果所述Web App当前可用内存大于一个网页组件所需内存,则创建一个新的网页组件加入所述网页组件池。
由此可见,本发明实施例具有如下有益效果:
本发明实施例通过建立包括多个页面组件的页面组件池,当需要切换页面时,可以直接从一个网页组件切换到另一网页组件进行页面加载,切换过程流畅;同时,利用页面缓存技术存储页面加载所需信息,减少了加载时间,具体的,一方面,如果某个页面组件中已加载待加载页面则直接调用该页面组件显示待加载页面,节省了页面加载过程;另一方面,在网页组件加载另一页面前,需要将前一加载页面的页面解析信息进行缓存,当再次加载已缓存过页面解析信息的页面时,可以自动从缓存中获取页面解析信息进行页面加载,节省了页面加载解析时间。
附图说明
图1为本发明实施例中提供的Web App加载方法实施例一的流程图;
图2为本发明实施例中提供的Web App加载方法实施例二的流程图;
图3为本发明实施例中提供的Web App加载方法实施例三的流程图;
图4为本发明实施例中提供的Web App加载方法实施例四的流程图;
图5为本发明实施例中提供的Web App加载装置实施例的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
现有技术中Web App页面加载过程中存在页面切换过程不流畅,加载速度较慢的技术问题,通过分析产生上述问题的主要原因是现有技术采用单一页面组件(即单一窗体)进行页面加载,每次页面切换时该单一页面组件需要删除当前加载的页面再加载新的页面,导致切换过程生硬不流畅,且每次加载新的页面均需要进行解析,导致页面加载速度较慢。
针对这一技术问题本发明实施例中提供的Web App加载方法及装置,提出创建包括多个页面组件的页面组件池,在页面切换时可以在多个页面组件间切换,保证切换的流程性,同时利用页面缓存技术缓存页面加载所需信息,减少加载时间,缓存可以有两个层面,第一层面是利用页面组件直接缓存页面,即如果某个页面组件中已加载待加载页面则直接调用该页面组件显示待加载页面,从而节省页面加载时间;另一个层面是缓存页面解析信息,例如缓存DOM(Document Object Model,文件对象模型)解析信息,即网页组件加载另一页面前,需要将前一加载页面的页面解析信息进行缓存,当再次加载已缓存过页面解析信息的页面时,可以自动从缓存中获取页面解析信息进行页面加载,从而缩短解析时间。
本发明实施例中提供的Web App加载方法将从Web App加载装置的角度进行描述,该Web App加载装置具体可以集成在客户端中,该客户端可以装载在终端中,该终端具体可以为智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频 层面3)播放器、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机和台式计算机等等。
基于上述思想,参见图1所示,是本发明实施例中提供的Web App加载方法实施例一,可以包括以下步骤:
步骤101:在Web App启动时,创建页面组件池,页面组件池中包括多个页面组件。
Web App是指基于Web的系统和应用,可以分为浏览器访问模式以及本地访问模式,浏览器访问模式可以理解为基于移动操作系统优化的Web站点,应用的展现页面及数据全部来自远程服务器;本地访问模式基于HTML5+Native技术实现,在页面资源外通过加壳方式打包成原生应用安装包,与原生应用一样安装在移动设备中。通过WebView展现本地的页面资源,而数据来自远程服务器,并且可以存储在本地。不论上述哪种访问模式,Web App均需要使用页面组件(即窗体)对页面进行加载,在加载过程中需要对待加载页面进行解析。
本发明实施例在Web App启动时,创建包括多个页面组件的页面组件池,创建网页组件池的具体实现可以为:从该Web App的配置文件中读取网页组件池的配置参数,配置参数包括网页组件池的初始化数量;按照初始化数量创建相应数量的网页组件,构成网页组件池。其中,初始化数量可以根据Web App占用内存情况灵活设置。
在实际应用中,Web App启动时创建页面组件池,并初始化各个页面组件实例,不同操作系统采取的技术方案有所差别,例如Android操作系统可以使用Activity组件,iOS操作系统可以适应viewController组件。
步骤102:读取待加载页面的页面标识信息,如果根据页面标识信息判断当前任一页面组件中已加载待加载页面,则直接调用该页面组件显示待加载页面。
在接收到用户触发的页面加载指令后,可以获取到待加载页面的页面标识信息,页面标识信息可以唯一标识待加载页面,例如页面标识信息可以为待加载页面的URL(Uniform Resource Locator,统一资源定位符),根据页面标识信息可以判断当前各个页面组件中是否加载有待加载页面,如果有则可以直接调用这个页面组件显示待加载页面。例如,页面组件池中有5个页面组件,当前使用了两个页面组件分别加载了“百度首页”和“新浪首页”,如果接收到待加载页面的页面标识信息表示当前待加载页面依然为“百度首页”,则直接调用已经加载了“百度首页”的网页组件显示待加载页面。
步骤103:如果根据页面标识信息判断当前各个页面组件中均未加载待加载页面,则从页面组件池中选择一个页面组件,使用所选择的页面组件加载待加载页面。
在本发明的一些实施例中,从页面组件池中选择一个页面组件的具体实现可以包括:
判断页面组件池中是否有空闲页面组件,如果有空闲页面组件,则选择任一空闲页面组件,如果没有空闲页面组件,则选择页面组件池中最先被使用的页面组件。
即如果当前各个页面组件中均未加载待加载页面,则需要选取一个页面组件进行页面加载,如果有空闲页面组件,则选择空闲页面组件,如果当前页面组件池中的页面组件均已加载页面,则选择最先被使用的页面组件进行页面加载。例如,页面组件池中有5个页面组件,当前使用了两个页面组件分别加载了“百度首页”和“新浪首页”,如果接收到待加载页面的页面标识信息表示表示当前待加载页面为其他页面,则可以选择其他三个空闲的页面组件直接使用;而如果当前页面组件池中5个页面组件均加载了不同页面,再次需要加载页面时,则可以选择5个页面组件中最先被使用的加载页面。
在本发明的一些实施例中,在使用所选择的页面组件加载待加载页面之 前,缓存该页面组件中加载页面的页面解析信息,页面解析信息与该页面组件中加载页面的页面标识信息相对应。
每个页面组件加载页面后,首先在该页面组件中缓存加载的页面,在后续如果需要再次加载该页面时直接显示,而页面组件在需要从一个页面切换加载其他页面时,则需要先将前一加载页面的页面解析信息进行缓存,具体可以缓存每个页面的页面标识信息对应该页面的页面解析信息。
则使用所选择的页面组件加载待加载页面的具体实现可以包括:当缓存有待加载页面的页面标识信息对应的页面解析信息时,获取页面解析信息,使用所选择的页面组件加载待加载页面;当未缓存待加载页面的页面标识信息对应的页面解析信息时,生成页面解析信息,使用所选择的页面组件加载待加载页面。
这样,本发明实施例通过建立包括多个页面组件的页面组件池,当需要切换页面时,可以直接从一个网页组件切换到另一网页组件进行页面加载,切换过程流畅;同时,利用页面缓存技术存储页面加载所需信息,减少了加载时间,具体的,一方面,如果某个页面组件中已加载待加载页面则直接调用该页面组件显示待加载页面,节省了页面加载过程;另一方面,在网页组件加载另一页面前,需要将前一加载页面的页面解析信息进行缓存,当再次加载已缓存过页面解析信息的页面时,可以自动从缓存中获取页面解析信息进行页面加载,节省了页面加载解析时间。
参见图2所示,是本发明实施例中提供的Web App加载方法实施例二,对页面组件池初始化以及主页面加载流程进行说明,可以包括以下步骤:
步骤201:在Web App启动时,从该Web App的配置文件中读取网页组件池的配置参数,配置参数包括网页组件池的初始化数量。
步骤202:创建初始化数量指定数量的页面组件,构成页面组件池。
在实际应用中,一般在Web App启动后的初始化状态显示一个空白的页 面组件,而在后台运行其他页面组件,共同构成可以使用的页面组件池,可以对各个页面组件进行编号。
步骤203:从页面组件池中获取一个页面组件。本实施例说明的是在Web App启动后第一个页面(即主页面)加载的过程,此时,全部页面组件均为空闲状态,可以从页面组件池中任意获取一个页面组件,但可以理解的是,在实际应用中一般是按照编号顺序从页面组件池中获取第一个页面组件使用。
步骤204:读取待加载页面的页面标识信息,即获取主页面的URL。
步骤205:记录页面组件与页面标识信息的对应关系,即记录页面组件与主页面URL的对应关系。在每个页面组件加载时,均可以记录该页面组件编号与所加载页面的URL,以便于后续快速查找是否加载了相同页面以及所使用的页面组件位置。
步骤206:生成页面解析信息,加载主页面。在每个页面首次加载过程中需要进行DOM解析,生成DOM解析结果,完成主页面加载。
参见图3所示,是本发明实施例中提供的Web App加载方法实施例三,对页面切换加载流程进行说明,可以包括以下步骤:
步骤301:在页面切换时,读取待加载页面的页面标识信息。页面切换是指在加载过主页面之后,再次加载页面即可称为页面切换,在本发明实施例中由于页面组件池中有多个页面组件,在页面切换时直接由一个页面组件切换到另一个页面组件,切换过程流畅。
步骤302:根据页面标识信息判断是否有页面组件中已加载待加载页面,如果是,执行步骤303,如果否,执行步骤304。
由于在每个页面组件加载页面时,均可以记录页面组件序号和页面标识信息的对应关系,在获取待加载页面的页面标识信息后,可以查找该页面标识信息是否与某一个页面组件序号相对应,如果有,则找到已加载待加载页 面的页面组件。
步骤303:直接调用该页面组件显示待加载页面。
步骤304:判断页面组件池中是否有空闲页面组件,如果是,执行步骤305,如果否,执行步骤306。空闲页面组件是指当前没有加载页面的页面组件。
步骤305:选择任一空闲页面组件。可以理解的是,在实际应用中一般按照页面组件序号顺序选择空闲页面组件,例如,当前使用了两个页面组件,则选取第三个页面组件为空闲页面组件。
步骤306:选择页面组件池中最先被使用的页面组件。
步骤307:缓存页面组件中当前加载页面的页面解析信息。即在使用页面组件加载新页面时,如果当前页面组件加载了页面,则对已加载页面的页面解析信息进行缓存,之后再进行新页面的加载。在实际应用中,也可以通过页面标识信息判断该页面的页面解析信息是否缓存过,如果缓存过,可以不再次重复缓存。
步骤308:根据页面标识信息判断是否缓存待加载页面对应的页面解析信息,如果是,执行步骤309,如果否,执行步骤311。
步骤309:获取页面解析信息。
步骤310:利用从缓存中获取的页面解析信息加载待加载页面。
步骤311:生成页面解析信息。
步骤312:利用生成的页面解析信息加载待加载页面。
即在页面切换时,针对未在现有页面组件中保留的页面,引入缓存机制,将页面DOM解析信息进行保存。当加载已缓存过解析信息的页面时,页面组件自动从缓存中获取解析信息后进行页面展现,减少了解析时间。
另外,本发明还可以利用内存协调机制动态调整页面组件池规模,在本发明的一些实施例中,本发明实施例中提供的Web App加载方法还可以包括:
当已加载页面的网页组件超过第一预设时间未被调用显示待加载页面时,将该网页组件恢复为空闲页面组件。
即网页组件在一定时间内一直缓存有已加载页面,而该页面超过第一预设时间没有再次被加载,则所使用的页面组件将恢复为空闲状态。
如果在第二预设时间内判断没有空闲页面组件的次数超过第一预设次数,则根据Web App可用内存增加页面组件池中页面组件的数量;
如果在第二预设时间内判断有空闲页面组件的次数超过第二预设次数,则减少页面组件池中页面组件的数量。
也就是说,在一定时间内一直没有空闲页面组件使用,则可以根据当前Web App内存使用情况增加页面组件数量,而在一定时间内一直存在空闲页面组件,则可以减少页面组件数量,以释放一部分内存占用。
上述第一预设时间、第二预设时间、第一预设次数、第二预设次数可以灵活设置,本发明对此不进行限定。
其中根据Web App内存情况增加页面组件池中页面组件的数量的具体实现可以包括:
从配置文件中读取网页组件池的配置参数,配置参数包括网页组件池的最大网页组件数量;
如果当前页面组件池中页面组件的数量小于最大网页组件数量,则读取Web App当前可用内存;
如果Web App当前可用内存大于一个网页组件所需内存,则创建一个新的网页组件加入网页组件池。
参见图4所示,是本发明实施例中提供的Web App加载方法实施例四,对页面组件池扩容流程进行说明,可以包括以下步骤:
步骤401:在需要页面组件池扩容时,获取网页组件池的最大网页组件数量。
页面组件池扩容的触发时机是上述说明的如果在第二预设时间内判断没有空闲页面组件的次数超过第一预设次数,则根据Web App可用内存增加页面组件池中页面组件的数量。在页面组件池扩容过程中,首先从配置文件中读取网页组件池的配置参数,配置参数中包括网页组件池的最大网页组件数量。
步骤402:判断当前页面组件池中页面组件的数量是否小于最大网页组件数量,如果是,执行步骤403,如果否,结束当前流程。
步骤403:读取Web App当前可用内存。
步骤404:判断当前可用内存是否大于一个网页组件所需内存,如果是,执行步骤405,如果否,结束当前流程。
步骤405:创建一个新的网页组件加入网页组件池。
Web App的内存使用总量有上限值,Web App的内存使用总量与当前已使用内存量的差值即为Web App当前可用内存量,在当前可用内存大于一个网页组件所需内存时,则可以再建立一个页面组件以供加载页面使用。
本发明实施例当已加载页面的页面组件未被访问时间超过设定值,该页面组件将会置成空闲状态;而当页面组件池在一段时间内频繁被申请且无空闲页面组件时(超过最大请求次数),则将根据内存实际情况动态扩充页面组件池规模;反之还可以回收页面组件,即减少页面组件数量。在保证系统性能不受影响的情况下,利用内存协调机制,动态调整页面组件池规模,提升了响应性能。
参见图5所示,是本发明实施例中提供的Web App加载装置实施例,可以包括:
创建单元501,用于在Web App启动时,创建页面组件池,页面组件池中包括多个页面组件。.
在本发明的一些实施例中,创建单元可以包括:
第一读取子单元,用于在Web App启动时,从配置文件中读取网页组件池的配置参数,配置参数包括网页组件池的初始化数量;
第一创建子单元,用于按照初始化数量创建相应数量的网页组件,构成网页组件池。
读取单元502,用于读取待加载页面的页面标识信息。
调用单元503,用于如果根据页面标识信息判断当前任一页面组件中已加载待加载页面,则直接调用该页面组件显示待加载页面。
选择单元504,用于如果根据页面标识信息判断当前各个页面组件中均未加载待加载页面,则从页面组件池中选择一个页面组件。
在本发明的一些实施例中,选择单元可以包括:
判断子单元,用于判断页面组件池中是否有空闲页面组件;
第一选择子单元,用于如果判断子单元判断有空闲页面组件,则选择任一空闲页面组件;
第二判断子单元,用于如果判断子单元判断没有空闲页面组件,则选择页面组件池中最先被使用的页面组件。
加载单元505,用于使用选择单元所选择的页面组件加载待加载页面。
在本发明的一些实施例中,本发明实施例中提供的Web App加载装置还可以包括:
缓存单元,用于在加载单元使用所选择的页面组件加载待加载页面之前,缓存该页面组件中加载页面的页面解析信息,页面解析信息与该页面组件中加载页面的页面标识信息相对应。
则加载单元可以具体用于:当缓存有待加载页面的页面标识信息对应的页面解析信息时,获取页面解析信息,使用所选择的页面组件加载待加载页面;当未缓存待加载页面的页面标识信息对应的页面解析信息时,生成页面解析信息,使用所选择的页面组件加载待加载页面。
另外,在本发明的一些实施例中,本发明实施例中提供的Web App加载装置还可以包括:
恢复单元,用于当已加载页面的网页组件超过第一预设时间未被调用显示待加载页面时,将该网页组件恢复为空闲页面组件。
增加单元,用于如果在第二预设时间内判断没有空闲页面组件的次数超过第一预设次数,则根据Web App可用内存增加页面组件池中页面组件的数量;
减少单元,用于如果在第二预设时间内判断有空闲页面组件的次数超过第二预设次数,则减少页面组件池中页面组件的数量。
在本发明的一些实施例中,增加单元可以包括:
第二读取子单元,用于如果在第二预设内时间判断没有空闲页面组件的次数超过第一预设次数,则从配置文件中读取网页组件池的配置参数,配置参数包括网页组件池的最大网页组件数量;
第三读取子单元,用于如果当前页面组件池中页面组件的数量小于最大网页组件数量,则读取Web App当前可用内存;
第二创建子单元,用于如果Web App当前可用内存大于一个网页组件所需内存,则创建一个新的网页组件加入网页组件池。
这样,本发明实施例通过建立包括多个页面组件的页面组件池,当需要切换页面时,可以直接从一个网页组件切换到另一网页组件进行页面加载,切换过程流畅;同时,利用页面缓存技术存储页面加载所需信息,减少了加载时间,具体的,一方面,如果某个页面组件中已加载待加载页面则直接调用该页面组件显示待加载页面,节省了页面加载过程;另一方面,在网页组件加载另一页面前,需要将前一加载页面的页面解析信息进行缓存,当再次加载已缓存过页面解析信息的页面时,可以自动从缓存中获取页面解析信息进行页面加载,节省了页面加载解析时间。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种网页应用Web App加载方法,其特征在于,所述方法包括:
在所述Web App启动时,创建页面组件池,所述页面组件池中包括多个页面组件;
读取待加载页面的页面标识信息,如果根据所述页面标识信息判断当前任一所述页面组件中已加载所述待加载页面,则直接调用该页面组件显示所述待加载页面;
如果根据所述页面标识信息判断当前各个所述页面组件中均未加载所述待加载页面,则从所述页面组件池中选择一个页面组件,使用所选择的页面组件加载所述待加载页面;
所述使用所选择的页面组件加载所述待加载页面包括:当缓存有所述待加载页面的页面标识信息对应的页面解析信息时,获取所述页面解析信息,使用所选择的页面组件加载所述待加载页面;当未缓存所述待加载页面的页面标识信息对应的页面解析信息时,生成页面解析信息,使用所选择的页面组件加载所述待加载页面。
2.根据权利要求1所述的方法,其特征在于,从所述页面组件池中选择一个页面组件,包括:
判断所述页面组件池中是否有空闲页面组件,如果有空闲页面组件,则选择任一所述空闲页面组件,如果没有空闲页面组件,则选择所述页面组件池中最先被使用的页面组件。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在使用所选择的页面组件加载所述待加载页面之前,缓存该页面组件中加载页面的页面解析信息,所述页面解析信息与该页面组件中加载页面的页面标识信息相对应。
4.根据权利要求1所述的方法,其特征在于,所述创建页面组件池,包括:
从配置文件中读取页面组件池的配置参数,所述配置参数包括页面组件池的初始化数量;
按照所述初始化数量创建相应数量的页面组件,构成页面组件池。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当已加载页面的页面组件超过第一预设时间未被调用显示所述待加载页面时,将该页面组件恢复为空闲页面组件。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果在第二预设时间内判断没有空闲页面组件的次数超过第一预设次数,则根据所述Web App可用内存增加所述页面组件池中页面组件的数量;
如果在第二预设时间内判断有空闲页面组件的次数超过第二预设次数,则减少所述页面组件池中页面组件的数量。
7.根据权利要求6所述的方法,其特征在于,所述根据所述Web App内存情况增加所述页面组件池中页面组件的数量,包括:
从配置文件中读取页面组件池的配置参数,所述配置参数包括页面组件池的最大页面组件数量;
如果当前所述页面组件池中页面组件的数量小于所述最大页面组件数量,则读取所述Web App当前可用内存;
如果所述Web App当前可用内存大于一个页面组件所需内存,则创建一个新的页面组件加入所述页面组件池。
8.一种网页应用Web App加载装置,其特征在于,所述装置包括:
创建单元,用于在所述Web App启动时,创建页面组件池,所述页面组件池中包括多个页面组件;
读取单元,用于读取待加载页面的页面标识信息;
调用单元,用于如果根据所述页面标识信息判断当前任一所述页面组件中已加载所述待加载页面,则直接调用该页面组件显示所述待加载页面;
选择单元,用于如果根据所述页面标识信息判断当前各个所述页面组件中均未加载所述待加载页面,则从所述页面组件池中选择一个页面组件;
加载单元,用于使用所述选择单元所选择的页面组件加载所述待加载页面;
所述加载单元具体用于:当缓存有所述待加载页面的页面标识信息对应的页面解析信息时,获取所述页面解析信息,使用所选择的页面组件加载所述待加载页面;当未缓存所述待加载页面的页面标识信息对应的页面解析信息时,生成页面解析信息,使用所选择的页面组件加载所述待加载页面。
9.根据权利要求8所述的装置,其特征在于,所述选择单元包括:
判断子单元,用于判断所述页面组件池中是否有空闲页面组件;
第一选择子单元,用于如果所述判断子单元判断有空闲页面组件,则选择任一所述空闲页面组件;
第二判断子单元,用于如果所述判断子单元判断没有空闲页面组件,则选择所述页面组件池中最先被使用的页面组件。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
缓存单元,用于在所述加载单元使用所选择的页面组件加载所述待加载页面之前,缓存该页面组件中加载页面的页面解析信息,所述页面解析信息与该页面组件中加载页面的页面标识信息相对应。
11.根据权利要求8所述的装置,其特征在于,所述创建单元包括:
第一读取子单元,用于在所述Web App启动时,从配置文件中读取页面组件池的配置参数,所述配置参数包括页面组件池的初始化数量;
第一创建子单元,用于按照所述初始化数量创建相应数量的页面组件,构成页面组件池。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
恢复单元,用于当已加载页面的页面组件超过第一预设时间未被调用显示所述待加载页面时,将该页面组件恢复为空闲页面组件。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:
增加单元,用于如果在第二预设时间内判断没有空闲页面组件的次数超过第一预设次数,则根据所述Web App可用内存增加所述页面组件池中页面组件的数量;
减少单元,用于如果在第二预设时间内判断有空闲页面组件的次数超过第二预设次数,则减少所述页面组件池中页面组件的数量。
14.根据权利要求13所述的装置,其特征在于,所述增加单元包括:
第二读取子单元,用于如果在第二预设时间内判断没有空闲页面组件的次数超过第一预设次数,则从配置文件中读取页面组件池的配置参数,所述配置参数包括页面组件池的最大页面组件数量;
第三读取子单元,用于如果当前所述页面组件池中页面组件的数量小于所述最大页面组件数量,则读取所述Web App当前可用内存;
第二创建子单元,用于如果所述Web App当前可用内存大于一个页面组件所需内存,则创建一个新的页面组件加入所述页面组件池。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410754020.8A CN104461632B (zh) | 2014-12-09 | 2014-12-09 | 一种Web App加载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410754020.8A CN104461632B (zh) | 2014-12-09 | 2014-12-09 | 一种Web App加载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461632A CN104461632A (zh) | 2015-03-25 |
CN104461632B true CN104461632B (zh) | 2017-06-16 |
Family
ID=52907737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410754020.8A Active CN104461632B (zh) | 2014-12-09 | 2014-12-09 | 一种Web App加载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461632B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697263A (zh) * | 2015-12-21 | 2019-04-30 | 北京奇虎科技有限公司 | 页面切换方法及装置 |
CN105653585A (zh) * | 2015-12-21 | 2016-06-08 | 北京奇虎科技有限公司 | 一种浏览器标签内网页的切换方法及装置 |
CN105653586A (zh) * | 2015-12-21 | 2016-06-08 | 北京奇虎科技有限公司 | 一种浏览器标签内切换网页的方法及装置 |
CN105630948B (zh) * | 2015-12-23 | 2021-07-23 | 小米科技有限责任公司 | 网络页面显示方法和装置 |
CN105656889A (zh) * | 2015-12-30 | 2016-06-08 | 东软集团股份有限公司 | WebApp的发布方法、服务器及客户端 |
CN105893095B (zh) * | 2016-04-13 | 2019-05-17 | 海尔优家智能科技(北京)有限公司 | 一种网页加载的方法和装置 |
CN105955765B (zh) * | 2016-04-22 | 2020-03-03 | 北京小米移动软件有限公司 | 应用预加载方法及装置 |
CN106126685B (zh) * | 2016-06-29 | 2019-08-30 | 北京小米移动软件有限公司 | 页面加载方法及装置 |
CN108073610B (zh) * | 2016-11-11 | 2021-03-02 | 聚好看科技股份有限公司 | 实现网页页面加载的方法及装置 |
CN106775637B (zh) * | 2016-11-18 | 2020-09-08 | 腾讯音乐娱乐(深圳)有限公司 | 一种应用程序的页面显示方法和装置 |
CN108121572B (zh) * | 2016-11-28 | 2021-02-12 | 华为技术有限公司 | 一种web应用启动方法及装置 |
CN106598655B (zh) * | 2016-12-05 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 应用程序页面处理方法和装置 |
CN107220186A (zh) * | 2017-07-03 | 2017-09-29 | 福建新和兴信息技术有限公司 | Android系统中业务对象的缓存管理方法及终端 |
CN107665134A (zh) * | 2017-09-29 | 2018-02-06 | 北京金山安全软件有限公司 | 页面组件加载方法、装置、介质及终端设备 |
CN108845774A (zh) * | 2018-05-29 | 2018-11-20 | 努比亚技术有限公司 | 一种界面显示方法、终端和计算机可读存储介质 |
CN109375966B (zh) * | 2018-08-03 | 2020-07-03 | 北京三快在线科技有限公司 | 一种节点初始化的方法、装置、设备及存储介质 |
CN111506848A (zh) * | 2019-01-30 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 网页处理方法、装置、设备及可读存储介质 |
CN113282858A (zh) * | 2020-02-20 | 2021-08-20 | 浙江宇视科技有限公司 | 页面加载方法、装置、系统及存储介质 |
CN111857915B (zh) * | 2020-07-06 | 2023-12-26 | 抖音视界有限公司 | 应用页面显示方法和装置 |
CN113536168B (zh) * | 2021-06-03 | 2023-11-14 | 中国联合网络通信集团有限公司 | 组件处理方法及设备 |
CN113742742A (zh) * | 2021-06-23 | 2021-12-03 | 福建华通银行股份有限公司 | 一种前端Web页面的展示方法、展示系统及智能终端 |
CN113626742A (zh) * | 2021-08-02 | 2021-11-09 | 维沃移动通信有限公司 | 网页生成方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382958A (zh) * | 2008-10-21 | 2009-03-11 | 深圳华为通信技术有限公司 | 网页加载方法和网页加载装置 |
CN102880616A (zh) * | 2011-07-15 | 2013-01-16 | 腾讯科技(深圳)有限公司 | 浏览器页面加载方法及装置 |
CN103686684A (zh) * | 2012-09-20 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 离线缓存的方法及装置 |
EP2745491A1 (en) * | 2011-09-02 | 2014-06-25 | Nokia Corporation | Method and apparatus for enabling offline web application execution |
-
2014
- 2014-12-09 CN CN201410754020.8A patent/CN104461632B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382958A (zh) * | 2008-10-21 | 2009-03-11 | 深圳华为通信技术有限公司 | 网页加载方法和网页加载装置 |
CN102880616A (zh) * | 2011-07-15 | 2013-01-16 | 腾讯科技(深圳)有限公司 | 浏览器页面加载方法及装置 |
EP2745491A1 (en) * | 2011-09-02 | 2014-06-25 | Nokia Corporation | Method and apparatus for enabling offline web application execution |
CN103686684A (zh) * | 2012-09-20 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 离线缓存的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104461632A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461632B (zh) | 一种Web App加载方法及装置 | |
CN104035753B (zh) | 一种双WebView展示定制页面的方法及系统 | |
KR101787182B1 (ko) | 애플리케이션 선택 가능 사용자 인터페이스에서 새로운 콘텐츠의 점진적 표시 기법 | |
CN105100003B (zh) | 一种客户端的网页游戏预加载方法及装置 | |
US20110113365A1 (en) | Scrolling large data sets | |
US9448977B2 (en) | Website blueprint generation and display algorithms to reduce perceived web-page loading time | |
CN103443763B (zh) | 包含对重写虚拟函数的调用的支持的isa桥接 | |
CN106886570A (zh) | 页面处理方法及装置 | |
CN106446174A (zh) | 应用中页面加载的方法 | |
CN102880616A (zh) | 浏览器页面加载方法及装置 | |
US20080195949A1 (en) | Rendition of a content editor | |
CN106569856A (zh) | 一种应用视图资源文件的加载方法和装置 | |
CN104750851A (zh) | 网页内容的延迟加载方法及系统 | |
CN106257415A (zh) | 实现动态图片预览的方法和装置、表情包展示方法和装置 | |
CN106663015A (zh) | 恢复会话状态 | |
US20170169599A1 (en) | Methods and electronic devices for displaying picture | |
CN106326403A (zh) | 网页生成方法及装置 | |
CN106358062A (zh) | 一种浏览器中视频文件的播放处理方法及装置 | |
CN108228776A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN106708478B (zh) | 滚动视图显示方法及装置 | |
CN106371706A (zh) | 应用快捷方式位置选择的方法及装置 | |
CN106874753A (zh) | 识别异常界面的方法及装置 | |
DE112016002416T5 (de) | System für code-zwischenspeicherung | |
CN103150355A (zh) | 一种网页内容预览的方法、装置及设备 | |
CN110018863A (zh) | 一种移动端文本显示方法、存储介质、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |