显示设备及自适应内存的网络资源下载方法与流程

专利2022-05-10  68



1.本技术涉及显示设备技术领域,尤其涉及一种显示设备及自适应内存的网络资源下载方法。


背景技术:

2.显示设备是指能够输出具体显示画面的终端设备,可以是智能电视、移动终端、智能广告屏、投影仪等终端设备。以智能电视为例,智能电视是基于internet应用技术,具备开放式操作系统与芯片,拥有开放式应用平台,可实现双向人机交互功能,集影音、娱乐、数据等多种功能于一体的电视产品,用于满足用户多样化和个性化需求。
3.显示设备可以作为一种嵌入式设备,使用浏览器实现一些显示功能,如浏览网页等。在使用浏览器进行显示的过程中,浏览器需要随着用户的交互过程,从互联网中下载各种网络资源。例如,在打开规模较大的网页时,浏览器需要在网络中下载大量的网页资源,包括图片、字体、层叠样式表(cascading style sheets,css)文件、脚本语言(javascript,js)文件等。
4.浏览器下载的网络资源会消耗显示设备的内存资源,并且浏览器本身也会占用显示设备的内存资源,因此,在网络资源下载量较大时,容易造成显示设备的可用运行内存不足,进而导致显示设备系统崩溃。为此,浏览器在显示设备的内存比较紧张时,会直接取消对网络资源的下载,以等待浏览器的内存回收机制回收有效内存。但是,在取消网络资源下载期间,会出现网页显示不全的问题,影响用户的观看体验。


技术实现要素:

5.本技术提供了一种显示设备及自适应内存的网络资源下载方法,以解决传统显示设备内存不足时网页显示不全的问题。
6.一方面,本技术提供一种显示设备,包括:显示器、通信器和控制器。其中,显示器被配置为显示网页画面;通信器被配置为连接网络,以从所述网络下载网络资源;控制器被配置为执行以下程序步骤:
7.检测当前运行内存状态,所述运行内存状态包括紧张状态和非紧张状态;
8.如果所述运行内存状态为紧张状态,对待下载网络资源进行分类,以获得多个待下载资源集合,每个所述资源集合设置有资源数据量、显示优先级以及网页位置关联信息;
9.按照所述显示优先级,下载所述资源数据量满足当前运行内存状态的网络资源;
10.根据所述网页位置关联信息,将下载的资源集合更新至所述网页画面。
11.另一方面,本技术还提供一种自适应内存的网络资源下载方法,应用于上述显示设备,所述自适应内存的网络资源下载方法包括以下步骤:
12.检测当前运行内存状态,所述运行内存状态包括紧张状态和非紧张状态;
13.如果所述运行内存状态为紧张状态,对待下载网络资源进行分类,以获得多个待下载资源集合,每个所述资源集合设置有资源数据量、显示优先级以及网页位置关联信息;
14.按照所述显示优先级,下载所述资源数据量满足当前运行内存状态的网络资源;
15.根据所述网页位置关联信息,将下载的资源集合更新至所述网页画面。
16.由以上技术方案可知,本技术提供的显示设备及自适应内存的网络资源下载方法可以先检测显示设备的运行内存状态,并在运行内存状态为紧张状态时,对待下载网络资源进行分类,从而按照显示优先级依次下载网络资源。再根据网络资源在网页画面中的位置,将下载的资源集合更新至网页画面。所述方法可以实现在运行内存不足时,通过部分更新的方式保证网页画面中的基本显示内容,既能够在较少的运行内存下完成网页画面更新,又能够满足用户的浏览需求,缓解网页显示不全的问题。
附图说明
17.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本技术实施例中显示设备的使用场景;
19.图2为本技术实施例中控制装置的硬件配置框图;
20.图3为本技术实施例中显示设备的硬件配置图;
21.图4为本技术实施例中显示设备的软件配置图;
22.图5为本技术实施例中浏览器中的进程示意图;
23.图6为本技术实施例中自适应内存的网络资源下载方法流程示意图;
24.图7为本技术实施例中资源集合示意图;
25.图8为本技术实施例中根据预更新数据量更新网页画面的流程示意图;
26.图9为本技术实施例中缩小预浏览区域范围的效果示意图;
27.图10为本技术实施例中基于更新序列对网页画面进行更新的流程示意图;
28.图11为本技术实施例中根据可用内存剩余量控制网页画面更新的流程示意图。
具体实施方式
29.下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本技术相一致的所有实施方式。仅是与权利要求书中所详述的、本技术的一些方面相一致的系统和方法的示例。
30.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
31.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
32.术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
33.术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
34.图1为根据实施例中显示设备的使用场景的示意图。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备200。
35.在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。
36.在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
37.在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。
38.图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
39.图3示出了根据示例性实施例中显示设备200的硬件配置框图。
40.在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
41.在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。
42.在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(hdmi)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(cvbs)、usb输入接口(usb)、rgb端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
43.在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
44.在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
45.在一些实施例中,用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特
定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
46.在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素中的至少一种。
47.参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(application framework)层(简称“框架层”),安卓运行时(android runtime)和系统库层(简称“系统运行库层”),以及内核层。
48.在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。
49.框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过api接口,可在执行中访问系统中的资源和取得系统的服务。
50.如图4所示,显示设备200的系统可以包括内核(kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(inter process communication,ipc)。内核启动后,再加载shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
51.如图4所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。
52.应用层主要包含电视上的常用应用,以及应用框架(application framework),其中,常用应用主要是基于浏览器browser开发的应用,例如:html5 apps;以及原生应用(native apps);
53.应用框架(application framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换...,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。
54.原生应用(native apps)可以支持在线或离线,消息推送或本地资源访问。
55.中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
56.硬件层主要包括hal接口、硬件以及驱动,其中,hal接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、wifi驱动、usb驱动、hdmi驱动、传感器驱动(如指纹传感器,温度传感器,压力传感
器等)、以及电源驱动等。
57.上述显示设备200可以在部分使用场景下,通过浏览器显示用户界面。例如,显示设备200可以使用浏览器或部分应用程序可以使用浏览器呈现具体的ui界面。其中,所使用的浏览器可以为chromium内核框架,同时基于超文本标记语言(hyper text markup language,html)的ui系统。
58.显示设备200在使用浏览器呈现用户界面的过程中,根据用户界面中所包含的具体内容不同,可以实现不同的功能。例如,显示设备200所运行的浏览器可以同时具备ui功能和网页浏览功能。即显示设备200在使用上述浏览器进行网页浏览等功能时,可以通过ui功能和浏览功能的两种类型的窗口,组成具体的网页浏览界面。
59.在显示网页画面时,用户可以与显示设备200进行交互。如用户可以通过控制装置100上的方向键控制对显示的网页画面进行翻页,以显示网页的各处内容。随着用户输入的交互动作,显示设备200所运行的浏览器将不断对网页画面中的内容进行更新。即浏览器可以从网络中下载用于更新网页画面的网络资源,并将下载的网络资源添加至网页画面中的特定位置上。
60.为了实现上述网页画面的更新过程,显示设备200所使用的浏览器可以采用多进程架构。如图5所示,浏览器中的进程架构主要分为三类,即浏览(browser)进程、渲染(render)进程以及其他进程。其中,browser进程包含了内存监控、网页资源下载等关键模块;render进程负责网页的渲染,包含资源请求模块,render进程可以根据打开的标签(tab)设置有多个;其他进程可以包含图形处理器(graphics processing unit,gpu)、插件等等功能进程,以实现相应图形处理或插件功能。各进程之间可以通过进程间通信(inter

process communication,ipc)来实现数据通信。在页面更新过程中,render进程会通过资源请求模块向browser进程请求资源下载。browser进程的资源下载模块负责所有render进程的请求。
61.由于浏览器下载的网络资源一般会先暂存在显示设备200的运行内存中,再更新至网页画面,因此,随着用户的交互过程,浏览器下载的网络资源数据量也逐渐增大,导致浏览器对显示设备200的运行内存占用量将不断增大。而显示设备200作为一种浏览器嵌入式设备,可用内存容量较低,使得在显示设备200加载大型网页画面过程中,容易出现可用内存容量不足的问题,严重时将直接导致系统崩溃,无法使用。
62.需要说明的是,本技术实施例中,除另有说明外,所述内存是指显示设备200的运行内存(memory),即用于暂时存放处理器中的运算数据,并与硬盘等外部存储器可进行数据交换的模块。根据显示设备200硬件配置的不同,显示设备200所具有的运行内存容量也不同。由于显示设备200需要维持自身的运行状态,因此运行内存并不能全部用于运行浏览器,而是将一部分用于运行浏览器,另一部分用于维持显示设备200的软/硬件数据处理过程。为了便于描述,本技术实施例中将用于运行浏览器的运行内存称为可用运行内存。
63.显示设备200运行的浏览器还可以在出现可用内存容量不足时,取消对网络资源的下载,并调用浏览器中的内存回收机制。待浏览器的内存回收机制回收出足够量的内存容量时,再继续下载网络资源和更新网页画面。可见,由于取消了网络资源的下载,因此浏览器无法对网页画面进行更新,即降低网页画面的加载速度,并在取消下载期间,显示设备200所显示是网页画面将无法显示完全,影响用户体验。
64.为了适应内存较低的情况,在本技术的部分实施例中提供一种显示设备200,包括:显示器260、通信器220和控制器250。其中,显示器260被配置为显示网页画面;通信器220被配置为连接网络,以从所述网络下载网络资源;如图6所示,控制器250被配置为执行一种自适应内存的网络资源下载方法,用于在满足用户基本浏览需求的前提下,通过较少的剩余可用内存完成对网页画面进行更新,具体包括以下步骤:
65.检测当前运行内存状态。显示设备200的浏览器可以通过browser进程中的内存监控模块对当前运行状态下的可用运行内存进行监听,以检测当前运行内存状态。其中,所述运行内存状态可以根据运行内存使用情况或者可用剩余存情况划分为两类,即紧张状态和非紧张状态。
66.例如,浏览器内存状态是动态监测的,并且根据浏览器内部的状态机制,可以包括无使用(none)状态、适中(moderate)状态以及紧张(critical)状态三种状态。其中,none状态和moderate状态下,浏览器可以调用足够的运行内存去下载网络资源和更新网页画面,因此可以在检测到浏览器处于none状态和moderate状态,确定当前运行内存状态为非紧张状态。而当检测到浏览器处于critical状态时,说明当前浏览器已经占用了显示设备200大量的运行内存,浏览器将无法正常去下载网络资源和更新网页画面,即检测到的内存状态为紧张状态。
67.不同的运行内存状态可以通过设置的内存使用阈值进行划分。为此,在一些实施例中,显示设备200可以在检测当前运行内存状态的步骤中,获取浏览器的当前内存使用量;并对比当前内存使用量与预设第一阈值;如果当前内存使用量大于或等于第一阈值,设置当前运行内存状态为紧张状态;如果当前内存使用量小于第一阈值,设置当前运行内存状态为非紧张状态。
68.例如,对于2g运行内存的显示设备200,可以设置第一阈值为内存总容量的80%,即第一阈值为1639m。当浏览器所使用的内存容量为1700m时,当前内存使用量超过内存总容量的80%,则当前剩余的运行内存很有可能不足以支持浏览器继续从网络下载网络资源以及对网页画面进行更新,因此可以设置当前运行内存状态为紧张状态。当浏览器所使用的内存容量为1500m时,由于当前剩余的运行内存未超过内存总容量的80%,因此可以设置当前运行内存状态为非紧状态。
69.同理,显示设备200还可以通过检测可用内存剩余量,并通过可用内存剩余量判断当前运行内存容量是否为紧张状态。即在一些实施例中,显示设备200可以在检测当前运行内存状态的步骤中,获取显示设备当前可用内存剩余量;再对比当前可用内存剩余量与第二阈值;如果当前可用内存剩余量小于或等于第二阈值,设置当前运行内存状态为紧张状态;如果当前可用内存剩余量大于第二阈值,设置当前运行内存状态为非紧张状态。
70.例如,可以设置第二阈值为内存总容量的20%,当显示设备200在运行浏览器以及其他应用程序后,剩余的内存容量少于内存总容量的20%时,表明当前剩余的运行内存很有可能不足以支持浏览器继续从网络下载网络资源以及对网页画面进行更新,可以确定当前运行内存状态为紧张状态。当剩余的内存容量多于内存总容量的20%时,则确定当前运行内存状态为非紧张状态。
71.在检测到当前运行内存状态后,显示设备200可以根据不同的运行内存运行状态采用不同的方式进行网页画面的更新。如果运行内存状态为非紧张状态,即当前显示设备
200的剩余运行内存足够浏览器从网络下载网络资源以及对网页画面进行更新,因此显示设备200可以仍然按照传统的网页加载方式,更新网页画面中的内容。例如,浏览器可以随着用户浏览的网页区域变化,实时加载浏览区域内的所有网络资源,如页面画面当前浏览区域内的图片、文字、css文件、js文件等。
72.如果所述运行内存状态为紧张状态,显示设备200可以对待下载的网络资源进行分类,以获得多个待下载资源集合。其中,待下载的网络资源可以是当前显示的页面画面中的各显示元素。待下载的网络资源也可以是根据当前浏览区域确定的预浏览区域内的显示元素。例如,显示设备200在浏览网页过程中,通常是从网页的上部逐渐翻页到网页的下部,即随着用户的翻页控制动作控制浏览区域逐渐向下方移动。因此,可以根据用户的翻页动作确定浏览区域下方的特定范围的区域为待浏览区域。
73.根据网页中所包含的具体内容不同,浏览器从网络中下载的网络资源类型也不同,并且不同的网络资源可以对应包含不同的资源数据量以及在网页中的显示位置。例如,浏览区域或预浏览区域中可以包括三种显示元素,即图片、文字和视频,这三种显示元素可以组合构成显示门户网站页面,如新闻页面等。其中,文字元素可以按照当前界面中的字符数确定其对应的资源数据量;图片元素可以根据图片格式、尺寸以及清晰度确定其对应的资源数据量;视频元素则可以根据视频长度、压缩方式以及清晰度等确定其对应的资源数据量。可见,当页面画面的浏览区域中包括图片、文字和视频时,可以按照显示元素类型将其进行分类。
74.不同类型的网络资源通常具有不同的显示优先级,且在显示不同类型的网页画面时,所对应的显示优先级不同。例如,对于新闻页面,文字用于描述具体新闻事件的内容,图片和视频一般作为辅助文字对新闻内容进行更好的显示,因此新闻页面中文字资源的显示优先级要高于图片和视频。并且,由于视频的数据量通常较大,需要用户通过交互动作控制其开始播放时,才从网络下载具体的视频内容进行播放,因此图片的显示优先级通常高于视频。而对于一些具备特殊功能的网页画面,如登录页面、资料填报页面等,其中通常包括文字、图片以及css文件等,为了实现其对应的功能,显示优先级一般为css文件高于文字高于图片。
75.在浏览区域中包含的显示元素内容和数量均较多时,显示设备200还可以对同一种类型下的网络资源进一步进行分类。分类的方式可以参考显示区域、显示优先级、功能以及具体内容等方面。例如,当新闻页面中包括多个区域分别显示不同的新闻内容时,显示设备200可以按照每个新闻所在区域,对区域中的显示元素再进行分类。
76.经过对网络资源进行分类后,可以得到多个资源集合。在一些实施例中,显示设备200还可以针对浏览器的高速缓存(cache)资源进行分类,以得到多个资源集合。即显示设备200可以先获取当前网页画面的预浏览区域;再遍历所述预浏览区域内的高速缓存cache资源并提取cache资源对应的待下载网络资源类型。再根据待下载网络资源类型,对每个cache资源执行分类;从而按照cache资源在预浏览区域内的显示优先级,对归属于同一个分类的多个cache资源进行分组,以生成多个待下载资源集合。
77.例如,显示设备200在检测到浏览器系统内存的状态为critical状态后,确定当前浏览区域下方与当前浏览区域面积相同的区域为预浏览区域,再对预浏览区域内的cache资源的关键信息进行分类。如图7所示,可以将预浏览区域内的图片资源分类r1系列、文本
资源分类为r2系列、字体资源分类为r3系列等。通过分类后,可以获得多个资源集合,即r1系列包括r11、r12、r13等多个资源集合,r2系列包括r21、r22等多个资源集合,r3系列包括r31、r32、r33等多个资源集合。
78.在分类获得多个资源集合后,显示设备200还可以为每个资源集合设置附加信息,包括资源数据量、显示优先级以及网页位置关联信息等。例如,在分类cache资源的关键信息后,显示设备200可以将资源信息和网页进行位置关联,用于后续对网页画面进行局部更新。同时,显示设备200还可以预估每个资源的数据量,即每次分类cache的资源都会评估一个资源大小,如s11、s12、s13等。显示设备200还可以对资源的显示优先级进行预估,即显示设备200在每次分类cache的资源时,都会评估资源的显示优先级,如p11、p12、p13等。
79.经过分类获得包括资源数据量、显示优先级以及网页位置关联信息的资源集合后,显示设备200可以控制浏览器按照每个资源集合的显示优先级,下载资源数据量满足当前运行内存状态的网络资源。
80.例如,对于同一种类型的资源,在确定资源集合r11、r12、r13的显示优先级为p11>p12>p13后,显示设备200可以根据显示优先级,优先下载资源集合r11。同时,在确定每个资源类型中显示优先级最高的分别为r11、r21、r31后,对于不同类型的资源集合,显示设备200也可以进行显示优先级的对比,如果显示优先级为r21>r11>r31时,优先下载资源集合r21。
81.显然,在下载显示优先级最高的资源集合的过程中,还需要对优先级最高的资源数据量进行判断,以使显示设备200当前剩余的内存容量能够支持对该资源的下载过程。即优先级最高的资源数据量不能超出显示设备200当前剩余的内存容量。
82.在将网络资源下载完成后,显示设备200可以通过运行浏览器根据网页位置关联信息,将下载的资源集合更新至网页画面。其中,针对不同类型的网络资源,其对应网页位置关联信息表现形式也不同。例如,对于文字类型的网络资源,网页位置关联信息为文字在网页内的排版方式;对于图片类型的网络资源,网页位置关联信息为图片在网页中的位置坐标。
83.在网络资源下载完成后,显示设备200可以对资源集合中的网页位置关联信息进行读取,并根据读取到的内容,将网络资源按照显示优先级逐一添加至网页画面中。可见,由于在更新网页画面中的显示元素时,可以根据显示优先级对网页中的要更新的内容进行筛选、分级,优先将重点内容更新至网页画面中,实现对网页画面的部分更新,因此可以在满足用户基本的浏览需求前提下,减少下载和更新过程中的网络资源数据量,缓解内存紧张状态。
84.由于浏览器在下载网络资源和更新网页画面的过程中,都会增加对运行内存的占用,因此在浏览器更新网页画面的过程中,浏览器还可以对显示设备200当前可用内存剩余量进行检测,并根据可用内存剩余量控制网络资源的更新方式。即如图8所示,在一些实施例中,显示设备200可以在将下载的资源集合更新至网页画面的步骤中,遍历已下载资源集合的显示优先级,以获得显示优先级最高的资源集合。并根据显示优先级最高的资源集合总数据量确定预更新数据量。
85.再对比所述预更新数据量和当前可用内存剩余量,如果当前可用内存剩余量小于预更新数据量,即当前可用内存剩余量不足以维持浏览器的更新操作,因此可以停止向网
页画面更新网络资源,不对网页画面进行更新。
86.例如,通过对比资源集合的分类结果,确定优先级最高的资源集合为r11时,显示设备200可以提取资源集合r11对应的数据量,即获得预更新数据量为s11。同时,浏览器的内存监听模块可以监听到当前可用内存剩余量为mt,则当mt<s11时,可用内存的剩余量不足以完成网页画面的更新操作,因此可以停止向网页画面更新任何网络资源,待浏览器的内存回收机制回收到足够的可用内存后,再进行更新,以缓解因内存不足造成浏览器系统崩溃的问题。
87.在一些实施例中,如图9所示,如果所述当前可用内存剩余量小于所述预更新数据量,显示设备200还可以控制浏览器缩小当前网页画面的预浏览区域范围;再对缩小范围后预浏览区域内的待下载网络资源进行分类,以重新获得多个待下载资源集合。
88.例如,在默认状态下,预浏览区域可以是与当前浏览区域面积和形状相同,且位置处于当前浏览区域下方的网页区域。当确定当前可用内存剩余量小于所述预更新数据量,即mt<s11时,说明当前预浏览区域内显示优先级最高的网络资源数据量过大,因此可以通过缩小预浏览区域,如将预浏览区域设置为面积为当前浏览区域的1/2,并再次获得多个待下载资源集合,以确定新的显示优先级最高的网络资源。
89.如果当前可用内存剩余量大于或等于预更新数据量,则确定当前可用内存剩余量可以维持浏览器的更新操作,因此可以向网页画面更新显示优先级最高的资源集合。例如,在确定预更新数据量为s11后,通过对比,当可用内存剩余量为mt≥s11时,可以直接向网页画面更新资源集合r11。
90.在向显示是网页画面更新优先级最高的资源集合后,显示设备200还可以按照显示优先级的顺序,继续对其他待下载的网络资源进行下载和更新。例如,在更新r11后,剩余资源中显示优先级最高的资源集合为r22,则显示设备200还可以按照上述方式,对r22的资源数据量进行提取,即s22。再与可用内存剩余量mt进行对比,如果mt≥s11,则向网页画面更新r22,如果mt<s11,则不向网页画面更新r22。通过依次执行上述更新方式,可以在较小的运行内存剩余量下,将网页中对应的资源集合逐步更新至网页画面中,以形成最终的网页效果。
91.在向网页画面中更新资源集合的过程中,当显示设备200剩余的运行空间能够相对充足时,还可以同时将多个资源集合一并更新至网页画面中。即在一些实施例中,显示设备200可以按照所述显示优先级对已下载的资源集合进行排序,以生成更新序列。例如,当r11、r12、r13、r21、r22、r31、r32、r33的优先级排列顺序为p11>p22>p21>p12>p31>p33>p32>p13,则可以生成更新序列:r11

r22

r21

r12

r31

r33

r32

r13。
92.如果当前可用内存剩余量大于或等于预更新数据量,显示设备200还可以依次计算更新序列中连续多个资源集合的总数据量,并对比当前可用内存剩余量与总数据量,从而在当前可用内存剩余量大于或等于总数据量时,将总数据量对应的多个资源集合更新至网页画面。
93.例如,通过对比优先权最高的资源集合r11所需要的数据量s11与可用内存剩余量mt,当s11<mt时,可以计算r11和r22的总数据量,即s11 s22。再将总数据量与可用内存剩余量mt进行对比,s11<mt<s11 s22,则说明当前可用内存剩余量仅能够支持对r11资源的更新,不能同时更新r11和r22,因此,显示设备200可以控制浏览器仅更新r11资源,而r22资
源可以等待r11更新完成后,再进行更新。
94.同理,当mt≥s11 s22时,显示设备200还可以进一步对r11、r12、r13的总数据量进行计算,并按照上述方式与可用内存剩余量mt进行对比。如果s11 s22≤mt<s11 s22 s21,则说明当前可用内存剩余量能够支持对r11和r22资源的更新,不足以支持对r11、r12、r13同时进行更新,因此可以控制浏览器更新r11、r22资源,如图10所示。
95.依次类推,显示设备200可以对依次更新序列中的多个连续的资源集合进行总数据量计算,直至完成对更新序列中的所有资源集合的判断,例如mt>s11 s22 s21 s12 s31 s33 s32 s13时,浏览器可以对当前预浏览区域中的全部资源进行更新。
96.可见,通过生成更新序列,显示设备200可以根据可用内存剩余量,确定同时向网页画面更新的资源集合数量,从而自适应可用内存剩余量,既能够合理利用可用内存剩余量,减少浏览器系统崩溃的可能性,又能够在内存余量允许的情况下,提高对网页画面的更新速度,提高用户体验。
97.由于显示设备200的浏览器可以具有内存回收机制,基于这种内存回收机制,显示设备200在下载网络资源和更新网页画面的过程中,可用内存的剩余量是不断变化的。因此,在更新网页画面时,显示设备200的可用内存剩余量有时能够支持浏览器进行画面更新,有时则不足以支持网页画面的更新。
98.基于此,如图11所示,在一些实施例中,在浏览器向网页画面更新资源前,显示设备200还可以对当前可用内存剩余量进行实时监听,并将监听结果与第三阈值进行对比。如果所述当前可用内存剩余量小于所述第三阈值,暂停向网页画面更新网络资源。其中,第三阈值可以与第二阈值相等;也可以大于第二阈值,使第二阈值与第三阈值组合构成两个内存状态的判断梯度。当可用内存剩余量大于第三阈值时,可以同时进行网络资源下载和网页画面更新,而当可用内存剩余量大于第二阈值、小于第三阈值时,浏览器仅对网络资源进行下载不对网页画面进行更新,从而缓解浏览器因内存不足而出现系统崩溃的问题。
99.例如,可以设定更新和下载过程的内存使用量通常为总内存容量的30%,即对于2g运行内存的显示设备200,其第三阈值为615m。在浏览器更新网页画面前,可以调用内存监听模块,对当前可用内存剩余量进行实时检测,当检测到当前可用内存剩余量mt为500m时,由于mt=500m<第三阈值615m,则表示当前可用内存剩余量不足以维持更新操作,因此可以将网页画面的更新进程设置为悬停状态,等待内存回收机制回收到足够的内存时,再启动对网页画面的更新。当检测到当前可用内存剩余量mt为1000m时,由于可用内存剩余量大于第三阈值615m,因此可以启用网页画面的更新进程,对显示的网页画面进行更新。
100.由于在当前可用内存剩余量大于或等于所述第三阈值时,浏览器可以对已下载的资源集合进行更新,因此在一些实施例中,显示设备200还可以在确定当前可用内存剩余量大于或等于所述第三阈值后,对资源集合是否已完成下载进行检测,即显示设备200可以检测显示优先级最高的网络资源的下载进度。如果下载进度为未完成下载,暂停向网页画面更新网络资源,等待显示优先级最高的网络资源下载完成后,再启动向网页画面更新网络资源的进程。
101.如果下载进度为已完成下载,控制器250可以生成局部更新指令,局部更新指令可以控制显示设备200采用上述方式对网页画面中的重点内容进行更新,即执行对比预更新数据量和当前可用内存剩余量的步骤。
102.由以上技术方案可知,通过上述实施例提供的网页画面更新方法,浏览器可以在显示设备200的内存状态处于critical状态时,通过对网页画面进行部分更新,使网页可以在使用较少的运行内存的情况下,满足用户对网页画面的基本浏览内容需求。而在内存状态处于none状态或moderate状态时,可以仍按照传统的网页画面更新方式,对浏览区域或预浏览区域内的全部资源进行下载更新。在一些实施例中,显示设备200可以同时运行两种或两种以上网页画面更新进程,以在不同的内存状态下,启用相应的更新进程。
103.例如,在显示设备200需要更新网页画面时,可以对内存状态进行检测,确定浏览器内存状态是否为critical状态。如果内存状态不是critical状态,则设置部分更新网页画面的进程处于悬停状态,而设置全面更新网页画面的进程处于启用状态,即不通过部分更新的方式进行网页更新,而通过全面更新网页画面的进程进行网页更新。
104.基于上述显示设备200,在本技术的部分实施例中还提供一种自适应内存的网络资源下载方法,应用于上述实施例提供的显示设备200。即所述显示设备200包括显示器260、通信器220和控制器250;其中,所述显示器260用于显示网页画面。所述自适应内存的网络资源下载方法包括以下步骤:
105.检测当前运行内存状态,所述运行内存状态包括紧张状态和非紧张状态;
106.如果所述运行内存状态为紧张状态,对待下载网络资源进行分类,以获得多个待下载资源集合,每个所述资源集合设置有资源数据量、显示优先级以及网页位置关联信息;
107.按照所述显示优先级,下载所述资源数据量满足当前运行内存状态的网络资源;
108.根据所述网页位置关联信息,将下载的资源集合更新至所述网页画面。
109.由以上技术方案可知,上述实施例提供的自适应内存的网络资源下载方法可以先检测显示设备200的运行内存状态,并在运行内存状态为紧张状态时,对待下载网络资源进行分类,从而按照显示优先级依次下载网络资源。再根据网络资源在网页画面中的位置,将下载的资源集合更新至网页画面。所述方法可以实现在运行内存不足时,通过部分更新的方式保证网页画面中的基本显示内容,既能够在较少的运行内存下完成网页画面更新,又能够满足用户的浏览需求,缓解网页显示不全的问题。
110.本技术提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本技术总的构思下的几个示例,并不构成本技术保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本技术方案所扩展出的任何其他实施方式都属于本技术的保护范围。
转载请注明原文地址:https://doc.8miu.com/index.php/read-1722151.html

最新回复(0)