CN103399950B - 一种用于解决Web应用内存占用问题的装置和方法 - Google Patents

一种用于解决Web应用内存占用问题的装置和方法 Download PDF

Info

Publication number
CN103399950B
CN103399950B CN201310360030.9A CN201310360030A CN103399950B CN 103399950 B CN103399950 B CN 103399950B CN 201310360030 A CN201310360030 A CN 201310360030A CN 103399950 B CN103399950 B CN 103399950B
Authority
CN
China
Prior art keywords
multimedia resource
page
module
community
multimedia
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
Application number
CN201310360030.9A
Other languages
English (en)
Other versions
CN103399950A (zh
Inventor
郭超
俞京华
廖君
陈滢
严敏
杨亚荣
杨华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Wisedu Information Co Ltd
Original Assignee
Jiangsu Wisedu Information Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Wisedu Information Co Ltd filed Critical Jiangsu Wisedu Information Co Ltd
Priority to CN201310360030.9A priority Critical patent/CN103399950B/zh
Publication of CN103399950A publication Critical patent/CN103399950A/zh
Application granted granted Critical
Publication of CN103399950B publication Critical patent/CN103399950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种用于解决Web应用内存占用问题的装置和方法,其主要方案是通过捕获页面导航事件,并在页面导航发生时,将历史页面中的多媒体资源指向自定义的小资源文件,该小资源文件包含有原始多媒体资源路径信息,当导航至历史页面时,再将多媒体资源指向保存在小资源文件中的原始多媒体资源路径。对历史页面的多媒体资源替换建立在对页面访问次数统计的基础上。本发明利用了浏览器内核内存释放机制,通过替换方式使得原多媒体资源缺少引用基础,浏览器内核自动释放缺少引用基础的多媒体资源,从而释放内存,最终解决Web/Hybrid应用内存占用问题。相比于修改浏览器内核,本发明保证浏览器内核的独立性、健壮性和完整性。

Description

一种用于解决Web应用内存占用问题的装置和方法
技术领域
本发明涉及Web/Hybrid应用。
背景技术
现行移动应用的开发主要有三种模式:Web App、Native App和Hybrid App。WebApp是基于Web的系统和应用。Native App是利用操作系统原生程序编写的应用程序。而Hybrid App则是Web App和Native App的混合模式,即由原生程序和Web共同构建的应用程序。Web App和Hybrid App都需要以浏览器内核为基础的前端展示工具。一般浏览器内核都有Brower History 的功能。该功能将浏览的内容,包括文档,图片等缓存起来,以减少下次访问同样内容带来的流量使用,减轻服务器压力,同时提高浏览速度。当缓存空间不够的时候,采用LRU(Least Recently Used)算法释放空间,以便存放新的内容进缓存。在PC或笔记本上, 浏览器的该功能通常采用硬盘作为缓存媒介;而在移动设备中(智能手机或平板电脑),通常以内存作为缓存媒介。Web App和Hybrid App浏览的内容一般都含有大量的多媒体资源,比如图片、声音、视频等。这在PC或笔记本中以几百G大小的硬盘作为缓存媒介不存在什么问题。但在移动设备只有2G或1G或者只有几百M的内存作为缓存媒介就会存在内存被这些资源大量占用的问题。随着使用时间的推移,内存消耗会越来越大,又得不到及时释放,会导致诸如应用响应速度变慢,甚至应用闪退或宕机的情况。
发明内容
本发明所要解决的问题是解决Web/Hybrid应用中内存占用的问题。
为解决上述问题,本发明采用的方案如下:
一种用于解决Web应用内存占用问题的装置,包括页面事件捕获模块和多媒体资源替换模块;所述的页面事件捕获模块用于捕获Web页面导航事件和获取页面数据;所述的多媒体资源替换模块用于Web页面导航事件或退出事件发生时分析历史页面中多媒体资源并将其多媒体资源路径指向自定义的小多媒体资源文件。
进一步,所述的用于解决Web应用内存占用问题的装置还可以包括小多媒体资源文件生成模块和多媒体资源还原模块;所述的小多媒体资源文件生成模块用于动态生成包含有原始多媒体资源路径的小多媒体资源文件;所述的多媒体资源还原模块用于在Web页面导航事件发生时且当前页面为历史页面时将页面中多媒体资源指向的小多媒体资源文件还原成原始多媒体资源路径。
进一步,所述的用于解决Web应用内存占用问题的装置它可以还包括资源替换策略控制模块,所述资源替换策略控制模块用于判断是否需要将历史页面中的多媒体资源替换成自定义的小多媒体资源文件。再进一步,所述的资源替换策略控制模块包括页面访问频次统计模块和资源替换决策模块;所述的页面访问频率统计模块用于统计页面访问次数;所述的资源替换决策模块用于根据页面访问次数判断是否进行多媒体资源替换。
一种用于解决Web应用内存占用问题的方法,包括如下步骤:
S1:捕获Web页面导航事件和获取页面数据;
S2:Web页面导航事件或退出事件发生时,分析历史页面中多媒体资源并将其多媒体资源路径指向自定义的小多媒体资源文件。
进一步,所述的用于解决Web应用内存占用问题的方法,还可以包括如下步骤:
S20:动态生成包含有原始多媒体资源路径的小多媒体资源文件;
S3:Web页面导航事件发生判断当前页面是否为历史页面;
S4:当前页面为历史页面时将页面中多媒体资源指向的小多媒体资源文件还原成原始多媒体资源路径。
进一步,所述的用于解决Web应用内存占用问题的方法,它可以还包括:
S21:判断是否需要将历史页面中的多媒体资源替换成自定义的小多媒体资源文件。
所述的步骤S21包括:
S211:统计页面访问次数;
S212:根据页面访问次数判断是否进行多媒体资源替换。
一种机器可读介质,该可读介质上存储有指令集合,当该指令集合被执行时,使得该机器可执行上述用于解决Web应用内存占用问题的方法。
本发明的技术效果:
1、本发明利用了浏览器内核内存释放机制,通过替换的方式使得原多媒体资源缺少引用基础,使得浏览器内核自动释放缺少引用基础的多媒体资源,从而释放内存,最终解决Web/Hybrid应用内存占用问题。
2、本发明的实施手段架构在浏览器内核之外,相比与修改浏览器内核解决内存占用问题的方法,本发明保证了浏览器内核的独立性、健壮性和完整性。
3、由于本发明释放的是多媒体资源,这些资源通常需要大量的内存资源,而内存占用量不大的文本内容得以保留,而不是单纯地将全部内容一起释放,这种释放方式增强了用户体验,应用操作更加流畅,用户体验更为舒适。
4、本发明可以实现两种内存释放策略的组合。以本发明为基础,开发人员可以依据应用自身特定调整的内存释放策略,而不是单调地采用LRU算法,可以在浏览器内核LRU算法的基础上自定义内存释放策略,从而使得开发人员能够开发出更好移动应用。
具体实施方式
下面对本发明的发明内容做进一步详细说明。
本发明主要包括五个模块:页面事件捕获模块、多媒体资源替换模块、小多媒体资源文件生成模块、多媒体资源还原模块和资源替换策略控制模块。最简单的情况下,只需要两个模块:页面事件捕获模块、多媒体资源替换模块。下面分别对这些模块以及模块之间的关系详细描述。
1、页面事件捕获模块
页面事件捕获模块用于捕获Web页面导航事件和获取页面数据。这里的页面导航事件包括前进、后退、回到主页、导向目标地址、退出导航等事件。本模块的输入是浏览器内核提供的页面导航事件以及页面导航事件中所带的页面数据。输出为页面导航事件中的页面数据传递给多媒体资源替换模块和多媒体资源还原模块。具体的处理流程可以参考如下:
Step11:接收浏览器内核页面导航事件和页面数据。
Step12:判断是否存在历史浏览的页面。如果存在转Step13,否则转Step15。
Step13:将历史浏览页面数据传递至将资源替换策略控制模块。
Step14:经资源替换策略控制模块分析处理后,将需要进行资源替换的历史页面数据传递至多媒体资源替换模块,再由多媒体资源替换模块处理后转Step15。
Step15:判断页面导航事件是否为退出事件。如果是退出事件则结束,否则转Step16。
Step16:判断当前页面是否在历史浏览页面中。如果是,则将该历史页面数据传递至多媒体资源还原模块处理。
上述流程显示了本模块与多媒体资源替换模块、多媒体资源还原模块和资源替换策略控制模块之间的关系。上述流程只是本模块的一种实施方式,本领域技术人员知道,还存在其他实施方式,比如,上述的Step14可以放入资源替换策略控制模块处理。在最简单的情形下,可以将上述Step13改成“将历史浏览页面数据传递至多媒体资源替换模块”并省略后续步骤就可以解决本发明所要解决的问题。
2、多媒体资源替换模块
多媒体资源替换模块用于Web页面导航事件或退出事件发生时分析历史页面中多媒体资源并将其多媒体资源路径指向自定义的小多媒体资源文件。“Web页面导航事件或退出事件发生时”表示了本模块与页面事件捕获模块之间的关系,并在前述的页面事件捕获模块中作出了说明。本模块的输入是页面数据,具体来说是Web页面文件。输出是修改后的页面数据。这里的多媒体资源是指图片、音频、视频,甚至还可以其他的具有较大内存的数据。这里的自定义的小多媒体资源文件可以是最小化了的图片、音频或视频。比如尺寸为1×1的图片文件或者只有1秒钟的音频或视频文件,甚至还可以是文件大小为0的文件或者文本文件。小多媒体资源文件可以事先定义,也可以动态生成。多媒体资源替换过程主要通过查找历史页面数据中的多媒体资源实现。由于Web页面文件一般为HTML文件或XML文件。因此该过程也就是通过查找HTML文件或XML文件中特定的标记即可,比如<bgsound>,<img>,<embed>,<object>等标记。这样的过程对本领域技术人员来说属于现有技术,其具体实现并不困难。
需要说明的是,本模块的输入可以是单个历史页面数据,也可以是多个历史页面数据。
3、小多媒体资源文件生成模块
小多媒体资源文件生成模块用于动态生成包含有原始多媒体资源路径的小多媒体资源文件。本模块的输入是原始多媒体资源路径。输出为包含有原始多媒体资源路径的小多媒体资源文件。本模块的功能需要和多媒体资源还原模块联合作用。前述多媒体资源替换模块中说明小多媒体资源文件可以事先定义,也可以动态生成。但该说明中的“动态生成”并不等同于本模块中的含义。因为本模块的小多媒体资源文件生成模块专指生成“包含有原始多媒体资源路径的小多媒体资源文件”。“动态生成”只是表明了本模块与多媒体资源替换模块之间的关系:本模块由多媒体资源替换模块调用,输出由多媒体资源替换模块使用。本模块使得多媒体资源替换模块替换历史页面中的多媒体资源为小多媒体资源文件后,多媒体资源还原模块根据小多媒体资源文件中包含的原始多媒体资源路径重新将历史页面恢复到修改前的状态。因此本模块生成的小多媒体资源文件实际上是文本文件,文本的内容为原始多媒体资源路径。由于浏览器内核实际并不会对该文件处理,因此这样的处理方式并不影响浏览器内核对文件的处理。
4、多媒体资源还原模块
多媒体资源还原模块用于在Web页面导航事件发生时且当前页面为历史页面时将页面中多媒体资源指向的小多媒体资源文件还原成原始多媒体资源路径。其输入为页面数据,输出为修改后的页面数据。“在Web页面导航事件发生时且当前页面为历史页面时将页面中”表明了本模块与页面事件捕获模块之间的调用关系,并在前述的页面事件捕获模块中作出了说明。本模块的处理过程与多媒体资源替换模块相同。但具体的内容不同。由于前述经过替多媒体资源替换模块处理的历史页面所指向的多媒体资源为本地的小多媒体资源文件,而该小多媒体资源文件包含了原始多媒体资源路径。因此,本模块具体的处理数据的内容不过是将历史页面数据中指向的小多媒体资源文件重新修改成小多媒体资源文件中包含的原始多媒体资源路径即可。
5、资源替换策略控制模块
资源替换策略控制模块用于判断是否需要将历史页面中的多媒体资源替换成自定义的小多媒体资源文件。资源替换策略控制模块的判断是否替换的依据有很多种,比如前述的LRU算法。最简单的情形是所有的历史页面中的多媒体资源替换成自定义的小多媒体资源文件。在本模块中,用户可以设定自定义的规则决定是否需要进行替换。比如用户可以设定某些网页永不替换,而有的网页为动态页面,图片内容总是实时变化,这样的图片资源就不必要在历史中保留,每一次都可以替换成小多媒体资源文件以实现最大化的内存释放。用户也可以通过自定义的算法实现。比如通过统计页面的访问次数,然后依据页面访问次数确定是否需要替换。下述实施方式详细描述这种通过统计页面的访问次数并依据页面访问次数确定是否需要替换实现本模块功能。
该实施方式下,本模块包括页面访问频次统计模块和资源替换决策模块。页面访问频次统计模块由前述页面事件捕获模块调用。当浏览器页面导航时,页面访问频次统计模块对浏览器导向的当前页面计数并保存。然后资源替换决策模块根据页面访问次数判断是否进行多媒体资源替换。具体的“根据页面访问次数判断是否进行多媒体资源替换”也有很多种方法。比如阈值法,页面访问次数低于一定数,则进行替换。再比如,对历史页面根据页面访问次数进行排序,页面访问次数最多的前10个页面不进行替换,其他页面都进行替换。
前述发明内容中方法的各个步骤与前述的各个功能模块对应,并由其相应的模块实现:步骤S1对应页面导航事件捕获模块;步骤S2对应多媒体资源替换模块;步骤S20对应小多媒体资源文件生成模块;步骤S21对应资源替换策略控制模块;步骤S4对应了多媒体资源还原模块;步骤S211对应页面访问频次统计模块、步骤S212对应资源替换决策模块。步骤S3对应了前述的Step16。本领域技术人员理解,步骤S3也可以在多媒体资源还原模块中实现。因此方法的各个步骤已经在前述的各个模块中得以描述,不再累述。
需要说明的是前述的技术方案中,本发明用于解决Web应用内存占用问题。本领域技术人员理解,本发明也适用于解决Hybrid应用内存占用问题。前述发明所要解决的问题以及技术效果中也做了相应的描述。因此本发明用于解决Hybrid应用内存占用问题也属于本发明的保护范围。

Claims (6)

1.一种用于解决Web应用内存占用问题的装置,其特征在于,它包括页面事件捕获模块、多媒体资源替换模块、小多媒体资源文件生成模块和多媒体资源还原模块;所述的页面事件捕获模块用于捕获Web页面导航事件和获取页面数据;所述的多媒体资源替换模块用于Web页面导航事件或退出事件发生时分析历史页面中多媒体资源并将其多媒体资源路径指向自定义的小多媒体资源文件;所述的小多媒体资源文件生成模块用于动态生成包含有原始多媒体资源路径的小多媒体资源文件;所述的多媒体资源还原模块用于在Web页面导航事件发生时且当前页面为历史页面时将页面中多媒体资源指向的小多媒体资源文件还原成原始多媒体资源路径。
2.如权利要求1所述的用于解决Web应用内存占用问题的装置,其特征在于,它还包括资源替换策略控制模块,所述资源替换策略控制模块用于判断是否需要将历史页面中的多媒体资源替换成自定义的小多媒体资源文件。
3.如权利要求2所述的用于解决Web应用内存占用问题的装置,其特征在于,所述的资源替换策略控制模块包括页面访问频次统计模块和资源替换决策模块;所述的页面访问频率统计模块用于统计页面访问次数;所述的资源替换决策模块用于根据页面访问次数判断是否进行多媒体资源替换。
4.一种用于解决Web应用内存占用问题的方法,其特征在于,它包括如下步骤:
S1:捕获Web页面导航事件和获取页面数据;
S2:Web页面导航事件或退出事件发生时,分析历史页面中多媒体资源并将其多媒体资源路径指向自定义的小多媒体资源文件;所述自定义的小多媒体资源文件是动态生成包含有原始多媒体资源路径的小多媒体资源文件;
S3:Web页面导航事件发生判断当前页面是否为历史页面;
S4:当前页面为历史页面时将页面中多媒体资源指向的小多媒体资源文件还原成原始多媒体资源路径。
5.如权利要求4所述的用于解决Web应用内存占用问题的方法,其特征在于,它还包括:
S21:判断是否需要将历史页面中的多媒体资源替换成自定义的小多媒体资源文件。
6.如权利要求5所述的用于解决Web应用内存占用问题的方法,其特征在于,所述步骤S21包括:
S211:统计页面访问次数;
S212:根据页面访问次数判断是否进行多媒体资源替换。
CN201310360030.9A 2013-08-19 2013-08-19 一种用于解决Web应用内存占用问题的装置和方法 Active CN103399950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310360030.9A CN103399950B (zh) 2013-08-19 2013-08-19 一种用于解决Web应用内存占用问题的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310360030.9A CN103399950B (zh) 2013-08-19 2013-08-19 一种用于解决Web应用内存占用问题的装置和方法

Publications (2)

Publication Number Publication Date
CN103399950A CN103399950A (zh) 2013-11-20
CN103399950B true CN103399950B (zh) 2016-08-31

Family

ID=49563578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310360030.9A Active CN103399950B (zh) 2013-08-19 2013-08-19 一种用于解决Web应用内存占用问题的装置和方法

Country Status (1)

Country Link
CN (1) CN103399950B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995884A (zh) * 2014-05-29 2014-08-20 北京中电普华信息技术有限公司 一种混合应用页面的切换方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO325628B1 (no) * 2006-09-20 2008-06-30 Opera Software Asa Fremgangsmåte, datamaskinprogram, transkodingsserver og datamaskinsystem for å modifisere et digitalt dokument
CN101221580A (zh) * 2008-01-03 2008-07-16 中兴通讯股份有限公司 一种提高嵌入式浏览器页面显示性能的方法
CN102479249A (zh) * 2010-11-26 2012-05-30 中国科学院声学研究所 一种嵌入式浏览器内存缓存数据的淘汰方法
CN102867041B (zh) * 2012-09-03 2015-07-22 东莞宇龙通信科技有限公司 终端和存储空间管理方法

Also Published As

Publication number Publication date
CN103399950A (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
CN103248684B (zh) 一种互联网中资源获取方法和装置
CN105224444B (zh) 日志生成方法及装置
CN110109844A (zh) 分布式图形处理器分级中的系统一致性
CN109684575A (zh) 网页数据的处理方法及装置、存储介质、计算机设备
DE112013002069T5 (de) Hohes Leistungsverbindungskohärenz-Protokoll
CN106874520A (zh) 网页加载方法、装置和电子设备
CN104782136A (zh) 在云中处理视频数据
CN110674918B (zh) 信息处理方法、设备、系统及存储介质
CN103258058B (zh) 页面展现方法、系统及浏览器
CN108682010A (zh) 车辆损伤识别的处理方法、处理设备、客户端及服务器
CN110196759A (zh) 分布式事务处理方法和装置、存储介质及电子装置
CN107203470A (zh) 页面调试方法和装置
US20170063961A1 (en) Systems and methods to consistently generate web content
CN103095807A (zh) 一种实时显示前端设备录像下载进度的方法及系统
CN110427864B (zh) 一种图像处理方法、装置及电子设备
CN103399950B (zh) 一种用于解决Web应用内存占用问题的装置和方法
CN107729541A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN104067308A (zh) 图像中的对象选择
CN107391163A (zh) 移动终端中页面数据加载方法、装置和应用
CN112434746A (zh) 基于层次化迁移学习的预标注方法及其相关设备
CN106970872A (zh) 信息埋点方法及装置
CN108885621A (zh) 用于加快加载时间的内容缓存
CN107515724A (zh) 用于再现存储系统的输入输出的方法和设备
CN106547906A (zh) 页面内容生成方法、装置以及终端
EP3491536A1 (en) Scalable vector graphics bundles

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 211100, No. 100, general road, Jiangning Economic Development Zone, Jiangsu, Nanjing

Applicant after: JIANGSU WISEDU EDUCATION INFORMATION TECHNOLOGY CO., LTD.

Address before: 211100, No. 100, general road, Jiangning Economic Development Zone, Jiangsu, Nanjing

Applicant before: Jiangsu Wisedu Information Technology Co., Ltd.

CB03 Change of inventor or designer information

Inventor after: Guo Chao

Inventor after: Yu Jinghua

Inventor after: Liao Jun

Inventor after: Chen Ying

Inventor after: Yan Min

Inventor after: Yang Yarong

Inventor after: Yang Hua

Inventor before: Chen Ying

Inventor before: Yan Min

Inventor before: Yang Yarong

Inventor before: Yang Hua

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20131120

Assignee: Jiangsu Zhituo Education Technology Co., Ltd.

Assignor: Jiangsu Wisedu Information Co., Ltd.

Contract record no.: 2018320000365

Denomination of invention: Device and method for solving Web application memory usage problem

Granted publication date: 20160831

License type: Exclusive License

Record date: 20181210

EE01 Entry into force of recordation of patent licensing contract