CN108563470A - 一种iOS下web页面加载优化策略 - Google Patents
一种iOS下web页面加载优化策略 Download PDFInfo
- Publication number
- CN108563470A CN108563470A CN201810183162.1A CN201810183162A CN108563470A CN 108563470 A CN108563470 A CN 108563470A CN 201810183162 A CN201810183162 A CN 201810183162A CN 108563470 A CN108563470 A CN 108563470A
- Authority
- CN
- China
- Prior art keywords
- cache
- buffer
- web page
- time
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
Abstract
本发明涉及一种iOS下web页面加载优化策略,包括如下步骤:用户开启缓存加载功能,用户尝试打开web页面,将web页面对应的url生成hash值,以hash值为关键字去缓存器获取,如果能成功获取,则获取当前时间,以hash值为关键字,从缓存器中获取缓存时间,如果缓存时间和当前时间的差值,未超过失效时限,则以hash值为关键字,从缓存器中获取缓存路径,如果缓存路径存在,则获取缓存文件,如果缓存文件存在,则使用缓存加载web页面。当上述判断不满足则发起正常网络请求。本发明,利用缓存器,存储网络请求得到的数据,将这些数据与URL关联,在一定期限内,重复访问相同URL时,不再发起网络请求,而是根据策略从缓存器中获取,速度快,提高效率,减少了网络带宽的占用,节约了系统资源,避免网络问题导致的卡顿情况。
Description
技术领域
本发明涉及页面加载技术领域,具体说是一种iOS下web页面加载优化策略。
背景技术
在iOS系统中,加载网页、文件、html常用UIWebView控件(可以简单理解为一个在iOS 端显示网页的一个控件),UIWebView控件是用来加载加载网页数据的一个框。UIWebView可以用来加载pdf、word、doc 等等文件。
在UIWebView控件加载网页、文件、html等时,通常首先要有一个资源的地址即URL用于定位资源,然后把URL告诉给服务器,请求从该URL获取数据,这一请求将发给服务器。
UIWebView继承于UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种:
第一种:
- (void)loadRequest:(NSURLRequest *)request;
这是加载网页最常用的一种方式,通过一个网页URL来进行加载,这个URL可以是远程的也可以是本地的。
第二种:
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;
这个方法需要将httml文件读取为字符串,其中baseURL是我们自己设置的一个路径,用于寻找html文件中引用的图片等素材。
第三种:
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMETypetextEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;
这个方式使用的比较少,但也更加自由,其中data是文件数据,MIMEType是文件类型,textEncodingName是编码类型,baseURL是素材资源路径。
在web页面加载时,由于总是需要从远端获取,不但占用了网络带宽,而且需要消耗较多的系统资源,有必要进一步给予优化。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种iOS下web页面加载优化策略,利用缓存器,存储网络请求得到的数据,将这些数据与URL关联,在一定期限内,重复访问相同URL时,不再发起网络请求,而是根据策略从缓存器中获取,速度快,提高效率,减少了网络带宽的占用,节约了系统资源,避免网络问题导致的卡顿情况。
为达到以上目的,本发明采取的技术方案是:
一种iOS下web页面加载优化策略,其特征在于,包括如下步骤:
用户开启缓存加载功能,
用户尝试打开web页面,
将web页面对应的url生成hash值,
以hash值为关键字去缓存器获取,
如果不能成功获取,则发起正常网络请求,
如果能成功获取,则获取当前时间,
以hash值为关键字,从缓存器中获取缓存时间,
如果缓存时间和当前时间的差值,超过失效时限,则发起正常网络请求,
如果缓存时间和当前时间的差值,未超过失效时限,则以hash值为关键字,从缓存器中获取缓存路径,
如果缓存路径不存在,则发起正常网络请求,
如果缓存路径存在,则获取缓存文件,
如果缓存文件不存在,则发起正常网络请求,
如果缓存文件存在,则使用缓存加载web页面。
在上述技术方案的基础上,发起正常网络请求后,首先判断是否请求到数据,
如果没有请求到数据,则等待数据,
如果有请求到数据,则进入缓存器,判断缓存器是否达到阈值,
如果已达到阈值,则使用LRU算法淘汰数据,清理缓存器,
如果未达到阈值,则获取当前时间,
将当前时间存入缓存器,作为缓存时间,
获取数据保存路径,作为缓存路径,
将数据保存到本地硬盘,
将缓存路径存入缓存器,
完成缓存处理。
在上述技术方案的基础上,等待数据如果超时或超次后,停止等待,返回错误信息。
本发明所述的iOS下web页面加载优化策略,利用缓存器,存储网络请求得到的数据,将这些数据与URL关联,在一定期限内,重复访问相同URL时,不再发起网络请求,而是根据策略从缓存器中获取,速度快,提高效率,减少了网络带宽的占用,节约了系统资源,避免网络问题导致的卡顿情况。
附图说明
本发明有如下附图:
图1本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的iOS下web页面加载优化策略,包括如下步骤:
用户开启缓存加载功能,
用户尝试打开web页面,
将web页面对应的url生成hash值,
以hash值为关键字去缓存器获取,
如果不能成功获取,则发起正常网络请求,
如果能成功获取,则获取当前时间,
以hash值为关键字,从缓存器中获取缓存时间,
如果缓存时间和当前时间的差值,超过失效时限,则发起正常网络请求,
如果缓存时间和当前时间的差值,未超过失效时限,则以hash值为关键字,从缓存器中获取缓存路径,
如果缓存路径不存在,则发起正常网络请求,
如果缓存路径存在,则获取缓存文件,
如果缓存文件不存在,则发起正常网络请求,
如果缓存文件存在,则使用缓存加载web页面。
在上述技术方案的基础上,发起正常网络请求后,首先判断是否请求到数据,
如果没有请求到数据,则等待数据,
如果有请求到数据,则进入缓存器,判断缓存器是否达到阈值,
如果已达到阈值,则使用LRU算法淘汰数据,清理缓存器,
如果未达到阈值,则获取当前时间,
将当前时间存入缓存器,作为缓存时间,
获取数据保存路径,作为缓存路径,
将数据保存到本地硬盘,
将缓存路径存入缓存器,
完成缓存处理。
在上述技术方案的基础上,等待数据如果超时或超次后,停止等待,返回错误信息。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (3)
1.一种iOS下web页面加载优化策略,其特征在于,包括如下步骤:
用户开启缓存加载功能,
用户尝试打开web页面,
将web页面对应的url生成hash值,
以hash值为关键字去缓存器获取,
如果不能成功获取,则发起正常网络请求,
如果能成功获取,则获取当前时间,
以hash值为关键字,从缓存器中获取缓存时间,
如果缓存时间和当前时间的差值,超过失效时限,则发起正常网络请求,
如果缓存时间和当前时间的差值,未超过失效时限,则以hash值为关键字,从缓存器中获取缓存路径,
如果缓存路径不存在,则发起正常网络请求,
如果缓存路径存在,则获取缓存文件,
如果缓存文件不存在,则发起正常网络请求,
如果缓存文件存在,则使用缓存加载web页面。
2.如权利要求1所述的iOS下web页面加载优化策略,其特征在于:发起正常网络请求后,首先判断是否请求到数据,
如果没有请求到数据,则等待数据,
如果有请求到数据,则进入缓存器,判断缓存器是否达到阈值,
如果已达到阈值,则使用LRU算法淘汰数据,清理缓存器,
如果未达到阈值,则获取当前时间,
将当前时间存入缓存器,作为缓存时间,
获取数据保存路径,作为缓存路径,
将数据保存到本地硬盘,
将缓存路径存入缓存器,
完成缓存处理。
3.如权利要求1所述的iOS下web页面加载优化策略,其特征在于:等待数据如果超时或超次后,停止等待,返回错误信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810183162.1A CN108563470A (zh) | 2018-03-06 | 2018-03-06 | 一种iOS下web页面加载优化策略 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810183162.1A CN108563470A (zh) | 2018-03-06 | 2018-03-06 | 一种iOS下web页面加载优化策略 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108563470A true CN108563470A (zh) | 2018-09-21 |
Family
ID=63532294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810183162.1A Pending CN108563470A (zh) | 2018-03-06 | 2018-03-06 | 一种iOS下web页面加载优化策略 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108563470A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110300163A (zh) * | 2019-06-25 | 2019-10-01 | 北京字节跳动网络技术有限公司 | 一种网络数据的获取方法、装置、设备及存储介质 |
CN111800666A (zh) * | 2020-07-08 | 2020-10-20 | 深圳创维-Rgb电子有限公司 | WebOS智能电视热键响应方法、装置和智能电视 |
CN112631651A (zh) * | 2020-12-29 | 2021-04-09 | 福州智永信息科技有限公司 | 一种小型应用的版本更新方法及终端 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100005165A1 (en) * | 2004-09-09 | 2010-01-07 | Websense Uk Limited | System, method and apparatus for use in monitoring or controlling internet access |
CN101957842A (zh) * | 2010-09-13 | 2011-01-26 | 青岛海信移动通信技术股份有限公司 | 一种基于WebKit浏览器的网页缓存控制方法、装置及系统 |
CN102096712A (zh) * | 2011-01-28 | 2011-06-15 | 深圳市五巨科技有限公司 | 一种移动终端缓存控制的方法和装置 |
CN102902799A (zh) * | 2012-10-12 | 2013-01-30 | 中科方德软件有限公司 | 一种基于WebKit的浏览器页面显示方法及其装置 |
CN103744663A (zh) * | 2013-12-26 | 2014-04-23 | 河南大学 | 一种基于预缓存技术的Android界面设计框架模型 |
CN104007990A (zh) * | 2014-05-30 | 2014-08-27 | 北京金山网络科技有限公司 | 一种网页加载方法及浏览器 |
CN104965717A (zh) * | 2014-06-05 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种页面加载的方法及装置 |
CN105095462A (zh) * | 2015-07-30 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 处理网页重复请求的方法和系统 |
CN106294365A (zh) * | 2015-05-15 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种单页web应用的页面数据处理方法及设备 |
US20170026449A1 (en) * | 2015-07-22 | 2017-01-26 | International Business Machines Corporation | Optimizing Bandwidth Usage and Improving Performance for Web Page Caching |
CN107645516A (zh) * | 2016-07-20 | 2018-01-30 | 平安科技(深圳)有限公司 | 应用软件数据缓存方法和装置 |
CN107729331A (zh) * | 2016-08-11 | 2018-02-23 | 凡学(上海)教育科技有限公司 | 一种移动应用高速缓存html5页面资源的方法 |
-
2018
- 2018-03-06 CN CN201810183162.1A patent/CN108563470A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100005165A1 (en) * | 2004-09-09 | 2010-01-07 | Websense Uk Limited | System, method and apparatus for use in monitoring or controlling internet access |
CN101957842A (zh) * | 2010-09-13 | 2011-01-26 | 青岛海信移动通信技术股份有限公司 | 一种基于WebKit浏览器的网页缓存控制方法、装置及系统 |
CN102096712A (zh) * | 2011-01-28 | 2011-06-15 | 深圳市五巨科技有限公司 | 一种移动终端缓存控制的方法和装置 |
CN102902799A (zh) * | 2012-10-12 | 2013-01-30 | 中科方德软件有限公司 | 一种基于WebKit的浏览器页面显示方法及其装置 |
CN103744663A (zh) * | 2013-12-26 | 2014-04-23 | 河南大学 | 一种基于预缓存技术的Android界面设计框架模型 |
CN104007990A (zh) * | 2014-05-30 | 2014-08-27 | 北京金山网络科技有限公司 | 一种网页加载方法及浏览器 |
CN104965717A (zh) * | 2014-06-05 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种页面加载的方法及装置 |
CN106294365A (zh) * | 2015-05-15 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种单页web应用的页面数据处理方法及设备 |
US20170026449A1 (en) * | 2015-07-22 | 2017-01-26 | International Business Machines Corporation | Optimizing Bandwidth Usage and Improving Performance for Web Page Caching |
CN105095462A (zh) * | 2015-07-30 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 处理网页重复请求的方法和系统 |
CN107645516A (zh) * | 2016-07-20 | 2018-01-30 | 平安科技(深圳)有限公司 | 应用软件数据缓存方法和装置 |
CN107729331A (zh) * | 2016-08-11 | 2018-02-23 | 凡学(上海)教育科技有限公司 | 一种移动应用高速缓存html5页面资源的方法 |
Non-Patent Citations (1)
Title |
---|
孙晨华,张亚生,何辞,谷聚娟等著: "《计算机网络与卫星通信网络融合技术》", 30 November 2016, 国防工业出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110300163A (zh) * | 2019-06-25 | 2019-10-01 | 北京字节跳动网络技术有限公司 | 一种网络数据的获取方法、装置、设备及存储介质 |
CN111800666A (zh) * | 2020-07-08 | 2020-10-20 | 深圳创维-Rgb电子有限公司 | WebOS智能电视热键响应方法、装置和智能电视 |
CN111800666B (zh) * | 2020-07-08 | 2022-04-29 | 深圳创维-Rgb电子有限公司 | WebOS智能电视热键响应方法、装置和智能电视 |
CN112631651A (zh) * | 2020-12-29 | 2021-04-09 | 福州智永信息科技有限公司 | 一种小型应用的版本更新方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9882975B2 (en) | Method and apparatus for buffering and obtaining resources, resource buffering system | |
US9740435B2 (en) | Methods for managing content stored in cloud-based storages | |
US7734872B2 (en) | Probabilistic technique for consistency checking cache entries | |
US10901619B2 (en) | Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse | |
US9525735B2 (en) | Lock elevation in a distributed file storage system | |
CN106648456B (zh) | 基于用户访问量以及预测机制的动态副本文件访问方法 | |
CN110109915B (zh) | 用于管理哈希表的方法、设备和计算机程序产品 | |
CN108563470A (zh) | 一种iOS下web页面加载优化策略 | |
US9805055B2 (en) | Method and apparatus for reading data in distributed file system | |
EP2130157A1 (en) | File server pipeline with denial of service mitigation | |
CN108008918A (zh) | 数据处理方法、存储节点及分布式存储系统 | |
CN106909470A (zh) | 基于纠删码的分布式文件系统存储方法及装置 | |
US20170004087A1 (en) | Adaptive cache management method according to access characteristics of user application in distributed environment | |
KR20140009175A (ko) | 서버로부터의 문서의 부분 로딩 및 편집 | |
CN107506154A (zh) | 一种元数据的读取方法、装置及计算机可读存储介质 | |
US20170004086A1 (en) | Cache management method for optimizing read performance of distributed file system | |
CN107633102A (zh) | 一种读取元数据的方法、装置、系统及设备 | |
CN105306570A (zh) | 一种集群数据的存储方法 | |
CN101470733A (zh) | 数据块副本数量调整方法及分布式文件系统 | |
CN107491565B (zh) | 一种数据同步方法 | |
CN105574008A (zh) | 应用于分布式文件系统的任务调度方法和设备 | |
WO2019109209A1 (zh) | 一种存储器数据替换方法、服务器节点和数据存储系统 | |
CN108984123A (zh) | 一种重复数据删除方法和装置 | |
JP2007264692A (ja) | メモリ管理方法、装置、およびプログラム | |
US20130179533A1 (en) | Data storage control system, data storage control method, and data storage control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180921 |
|
RJ01 | Rejection of invention patent application after publication |