掌桥专利:专业的专利平台
掌桥专利
首页

动态管理图片缓存空间的方法及显示设备

文献发布时间:2023-06-19 11:08:20


动态管理图片缓存空间的方法及显示设备

技术领域

本申请涉及显示技术领域,尤其涉及一种动态管理图片缓存空间的方法及显示设备。

背景技术

显示设备上通常利用浏览器运行系统UI应用的本地网页,前端的多个UI应用可以运行在同一个浏览器上。UI应用上展示最多的就是图片资源,浏览器在运行UI应用时,也需要为UI应用提供一定的图片缓存空间,将UI应用的一部分图片资源保存进去,当用户再次浏览到对应的图片资源时,浏览器可以直接从图片缓存空间中加载,避免用户浪费过多时间等待图片加载。

浏览器加载图片的基本流程是:当遇到图片资源,浏览器会通过内部网络模块异步请求网络图片资源;在成功与服务器建立链接后,开始下载图片;下载成功后,判断图片占用的内存大小与浏览器初始化配置的图片缓存空间剩余内存的大小对比,如果剩余内存不足以存下这幅图片,按照加载的时间移除当前缓存空间中存入最早的图片,直到剩余内存可以存入这幅图片为止。

而当前显示设备上浏览器默认配置的图片缓存空间的内存大小是固定的,并且也比较小,例如5M、10M等,对于UI应用大量的图片加载操作,很有可能出现大量删除稍早保存的图片以保存当前图片的情况,这种情况下,用户如果再次浏览UI应用中稍早时候的图片,浏览器仍需要重新从服务器中获取并加载,此过程中用户仍需要浪费很多时间等待图片的加载。可见,当前显示设备中这种固定大小的图片缓存空间必然是不能够满足当前UI应用大量的图片加载要求的。

发明内容

本申请提供了一种动态管理图片缓存空间的方法及显示设备,以解决目前显示设备上的浏览器运行UI应用时加载图片资源速度慢的问题。

第一方面,本申请提供了一种显示设备,包括:

显示器;

控制器,被配置为:

获取目标应用的预设图片缓存值以及运行所述目标应用的目标浏览器的原始缓存值;所述预设图片缓存值用于表示所述目标应用运行时所需缓存图片资源的大小,所述原始缓存值用于表示所述目标浏览器运行所述目标应用时使用的所述缓存空间的大小;

在所述预设图片缓存值大于所述原始缓存值的情况下,为所述目标浏览器扩充缓存空间,以使由原缓存空间扩充后的目标缓存空间的大小与所述预设图片缓存值相同;

控制所述目标浏览器在运行所述目标应用时,利用所述目标缓存空间缓存所述目标应用的图片资源。

在一些实施例中,所述控制器,还被配置为:

获取用于限制所述缓存空间的大小的预设缓存极限值;

在所述预设图片缓存值大于所述原始缓存值以及为所述目标浏览器扩充缓存空间的情况下,检测所述目标缓存空间的大小是否小于所述预设缓存极限值;

在所述目标缓存空间的大小小于或者等于所述预设极限缓存值的情况下,控制所述目标浏览器在运行所述目标应用时,利用所述目标缓存空间缓存所述目标应用的图片资源。

在一些实施例中,所述控制器,还被配置为:

在所述目标缓存空间的大小大于所述预设极限缓存值的情况下,将所述目标缓存空间的大小设为所述预设极限缓存值;

控制所述目标浏览器在运行所述目标应用时,利用所述目标缓存空间缓存所述目标应用的图片资源。

在一些实施例中,所述控制器,还被配置为:

在控制所述目标应用退出后,检测当前应用是否也由所述目标浏览器运行;

在所述当前应用也是由所述目标浏览器运行的情况下,继续控制所述目标浏览器在运行所述当前应用时,利用所述目标缓存空间缓存所述当前应用的图片资源。

在一些实施例中,所述控制器,还被配置为:

在所述当前应用也是由所述目标浏览器运行的情况下,检测所述当前应用的预设图片缓存值是否大于所述目标缓存空间的大小;

在所述当前应用的预设图片缓存值小于或者等于所述目标缓存空间的大小的情况下,继续控制所述目标浏览器在运行所述当前应用时,利用所述目标缓存空间缓存所述当前应用的图片资源。

在一些实施例中,所述控制器,还被配置为:

在所述当前应用的预设图片缓存值大于所述目标缓存空间的大小的情况下,继续为所述目标浏览器扩充缓存空间;

在由目标缓存空间扩充后的当前缓存空间的大小小于或者等于所述预设极限缓存值的情况下,控制所述目标浏览器在运行所述当前应用时,利用所述当前缓存空间缓存所述当前应用的图片资源。

在一些实施例中,所述控制器,还被配置为:

在所述当前应用不是由所述目标浏览器运行的情况下,释放为所述目标浏览器扩充的缓存空间;

在所述当前应用的预设图片缓存值大于运行所述当前应用的当前浏览器的原始缓存值的情况下,为所述当前浏览器扩充缓存空间;

控制所述当前浏览器在运行所述当前应用时,利用所述扩充后的缓存空间缓存所述当前应用的图片资源。

在一些实施例中,所述控制器,还被配置为:

实时检测是否接收到显示设备的系统发出的内存预警通知;

在接收到所述内存预警通知的情况下,立即释放为所述目标浏览器扩充的缓存空间;

控制所述目标浏览器在运行所述目标应用时,利用所述目标浏览器的原始缓存空间缓存所述目标应用的图片资源。

第二方面,本申请还提供了一种动态管理图片缓存空间的方法,包括:

获取目标应用的预设图片缓存值以及运行所述目标应用的目标浏览器的原始缓存值;所述预设图片缓存值用于表示所述目标应用运行时所需缓存图片资源的大小,所述原始缓存值用于表示所述目标浏览器运行所述目标应用时使用的所述缓存空间的大小;

在所述预设图片缓存值大于所述原始缓存值的情况下,为所述目标浏览器扩充缓存空间,以使由原缓存空间扩充后的目标缓存空间的大小与所述预设图片缓存值相同;

控制所述目标浏览器在运行所述目标应用时,利用所述目标缓存空间缓存所述目标应用的图片资源。

在一些实施例中,所述方法还包括:

获取用于限制所述缓存空间的大小的预设缓存极限值;

在所述预设图片缓存值大于所述原始缓存值以及为所述目标浏览器扩充缓存空间的情况下,检测所述目标缓存空间的大小是否小于所述预设缓存极限值;

在所述目标缓存空间的大小小于或者等于所述极限缓存值的情况下,控制所述目标浏览器在运行所述目标应用时,利用所述目标缓存空间缓存所述目标应用的图片资源。

由上述内容可知,本申请技术方案中提供了一种动态管理图片缓存空间的方法及显示设备。显示设备的控制器可以获取到正在运行的目标应用的预设图片缓存值以及运行目标应用的目标浏览器的原始缓存值;其中,预设图片缓存值用于表示目标应用运行时所需占用目标浏览器的缓存空间的大小,以及原始缓存值用于表示目标浏览器的缓存空间的大小;而后,控制器在预设图片缓存值大于原始缓存值的情况下,为目标浏览器扩充缓存空间;最后,控制器控制目标浏览器运行目标应用,同时控制浏览器利用扩充后的目标缓存空间缓存目标应用的图片资源。本申请技术方案中,在目标浏览器对目标应用缓存图片资源时,目标缓存空间中可以缓存大量目标应用的图片资源,当用户在反复浏览目标应用的某一部分图片资源时,目标浏览器可以快速地从目标缓存空间中获取这一部分图片资源的任意一个,节省很多图片加载的时间。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据一些实施例的显示设备的使用场景的示意图;

图2示出了根据一些实施例的控制装置100的硬件配置框图;

图3示出了根据一些实施例的显示设备200的硬件配置框图;

图4示出了根据一些实施例的显示设备200中软件配置图;

图5示出了根据一些实施例的控制器250的一种控制流程图;

图6示出了根据一些实施例的控制器250的第二种控制流程图;

图7示出了根据一些实施例的应用A的一种页面示意图;

图8示出了根据一些实施例的应用A的第二种页面示意图;

图9示出了根据一些实施例的应用A的第三种页面示意图;

图10示出了根据一些实施例的控制器250的第三种控制流程图;

图11示出了根据一些实施例的控制器250的第四种控制流程图;

图12示出了根据一些实施例的控制器250的第五种控制流程图;

图13示出了根据一些实施例的控制器250的第六种控制流程图;

图14示出了根据一些实施例的动态管理图片缓存空间的方法的一种流程图。

具体实施方式

为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。

术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

图1示出了根据一些实施例的显示设备的使用场景的示意图。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备200。

在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。

在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,AR/VR设备等中的任意一种。

在一些实施例中,也可以使用智能设备300以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。

在一些实施例中,也可以使用智能设备300和显示设备进行数据的通信。

在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。

在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。

在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。

图2示出了根据一些实施例的控制装置100的硬件配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。

在一些实施例中,通信接口130用于和外部通信,包含WIFI芯片,蓝牙模块,NFC或可替代模块中的至少一种。

在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。

图3示出了根据一些实施例的显示设备200的硬件配置框图。

在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。

在一些实施例中控制器包括中央处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。

在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面等。

在一些实施例中,显示器260可为液晶显示器、OLED显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。

在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。

在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。

在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。

在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。

在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。

在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。

在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。

在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM Random AccessMemory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。

CPU处理器。用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。CPU处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。

在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。

在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可显示设备200上显示或播放的信号。

在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。

在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。

在一些实施例中,用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。

在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素中的至少一种。

在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:显示设备本体上的实体按键,或其他等)。

在一些实施例中,显示设备的系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。

如图4所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。

应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);

应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换…,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。

原生应用(Native APPs)可以支持在线或离线,消息推送或本地资源访问。

中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。

显示设备200上通常利用浏览器运行系统UI应用的本地网页,前端的多个UI应用可以运行在同一个浏览器上。UI应用上展示最多的就是图片资源,浏览器在运行UI应用时,也需要为UI应用提供一定的图片缓存空间,将UI应用的一部分图片资源保存进去,当用户再次浏览到对应的图片资源时,浏览器可以直接从图片缓存空间中加载,避免用户浪费过多时间等待图片加载。

浏览器加载图片的基本流程是:当遇到图片资源,浏览器会通过内部网络模块异步请求网络图片资源;在成功与服务器400建立链接后,开始下载图片;下载成功后,判断图片占用的内存大小与浏览器初始化配置的图片缓存空间剩余内存的大小对比,如果剩余内存不足以存下这幅图片,按照加载的时间移除当前缓存空间中存入最早的图片,直到剩余内存可以存入这幅图片为止。

而当前显示设备200上浏览器默认配置的图片缓存空间的内存大小是固定的,并且也比较小,例如5M、10M等,对于UI应用大量的图片加载操作,很有可能出现大量删除稍早保存的图片以保存当前图片的情况,这种情况下,用户如果再次浏览UI应用中稍早时候的图片,浏览器仍需要重新从服务器400中获取并加载,此过程中用户仍需要浪费很多时间等待图片的加载。可见,当前显示设备200中这种固定大小的图片缓存空间必然是不能够满足当前UI应用大量的图片加载要求的。

基于以上内容,本申请实施例提供了一种动态管理图片缓存空间的方法及显示设备200,可以在显示设备200上浏览器的图片缓存空间不够的情况下,为其扩充缓存空间,进而使得图片缓存空间在浏览器工作时可以缓存大量的图片资源,浏览器不必频繁地删除图片缓存空间中早期存入的图片,这样,当用户在反复浏览应用的某一部分图片资源时,浏览器可以快速地从图片缓存空间中获取这一部分图片资源的任意一个,节省很多图片加载的时间。

如前述实施例所述,本申请实施例中的显示设备200具有控制器250。控制器250可以控制显示设备200上浏览器进行一系列操作,例如可以控制浏览器运行某一个应用,进而运行该应用的本地网页,以展示该应用的一些图片资源等。其中,应用的UI界面可以看作是显示设备200上的本地网页。

在显示设备200上会存在多个浏览器,并且每个浏览器所负责运行的应用不同。每个应用在被用户选择打开之时,都会请求该应用对应的浏览器进行资源的加载。用户在显示设备200上可以选择某一个应用打开,这个应用可以称为目标应用,而负责运行目标应用的浏览器则可以称为目标浏览器。

图5示出了根据一些实施例的控制器250的一种控制流程图。

本申请实施例中,提供了一种显示设备200,其中,由控制器250控制目标浏览器运行目标应用。以及,控制器250具体的控制流程可以参见图5。

如图5所示,控制器250首先可以获取到目标应用的预设图片缓存值以及运行目标应用的目标浏览器的原始缓存值。

通常,目标应用提供方的技术人员在设计目标应用时,会根据目标应用的类型以及目标应用中图片资源展示情况等预估出目标应用在运行时可能需要缓存图片资源的大小,并将这个缓存图片资源的值配置给目标应用作为目标应用的预设图片缓存值,例如20M、30M等。

在目标浏览器运行目标应用时,需要由目标浏览器将目标应用的图片资源缓存至显示设备200提供的用于缓存图片的缓存空间内,并且目标浏览器提供方的技术人员也会为目标浏览器配置一个原始缓存值,用于表示目标浏览器运行目标应用时需要使用缓存空间的大小。

如前述内容所述,当前显示设备200中为目标浏览器配置的缓存空间是固定的,并且为了避免为目标浏览器配置过大的缓存空间影响显示设备200系统的正常运行,通常为目标浏览器配置的缓存空间的大小也有限,即原始缓存值很小,例如只有5M或者10M等。相比于目标应用的预设图片缓存值,原始缓存值很难满足目标应用中大量图片资源加载的要求,例如,一个目标应用可能需要缓存20M的图片资源,但是目标浏览器只配置有10M的缓存空间,那么该目标浏览器运行目标应用时最多只能缓存10M图片资源,剩余的图片资源需要等待缓存空间中之前缓存的图片资源依次被删除后才能逐个被缓存;而当用户想要再次浏览的图片资源已经被删除时,目标浏览器需要再次从服务器400中获取到当前浏览的图片资源,并且再次将缓存空间中稍早一部分图片资源删除,在目标应用上加载该图片资源之后目标浏览器再将该图片资源缓存到缓存空间中。可见,当用户在目标应用中反复浏览图片资源时,由于为目标浏览器配置的缓存空间有限,很可能出现某一图片资源反复从服务器400获取以及从缓存空间不断删除的操作,这些操作都会耗费一定的时间。

为了避免缓存空间不足的情况,控制器250还可以根据预设图片缓存值的大小为目标浏览器扩充缓存空间。如图5所示,控制器250先检测目标应用的预设图片缓存值与目标浏览器的原始缓存值之间的关系,如果预设图片缓存值大于原始缓存值,说明当前为目标浏览器配置的缓存空间不足,在这种情况下,控制器250需要为目标浏览器扩充缓存空间,以使由原始缓存空间扩充后的目标缓存空间的大小与预设图片缓存值相同,保证目标缓存空间满足目标应用的图片缓存需求,进而保证用户使用目标应用浏览图片资源时,图片资源可以被快速地从目标缓存空间中加载出来。

而如果预设图片缓存值小于或者等于原始缓存值,则说明当前为目标浏览器配置的缓存足够,这种情况下,控制器250无需再对缓存空间进行扩充。

在对缓存空间扩充后,目标缓存空间的大小满足了目标应用的图片缓存要求,因此,如图5所示,控制器250可以继续控制目标浏览器运行目标应用,并控制目标浏览器利用目标缓存空间缓存目标应用的图片资源。

值得说明的是,初始情况下目标缓存空间中没有缓存用户在目标应用上浏览的图片资源,目标浏览器需要先从服务器400中获取到该图片资源,再在目标应用上加载出来,以便用户能够先观看到;而后,目标浏览器再将该图片资源缓存到目标缓存空间中,以便用户再次浏览该图片资源时,可以随时加载。

由以上内容可知,本申请实施例提供的显示设备200,由其中的控制器250控制目标浏览器运行目标应用,并且,控制器250在预设图片缓存值大于原始缓存值的情况下,为目标浏览器扩充缓存空间,以使目标缓存空间的大小可以满足目标应用的图片资源加载需求。进而,在目标浏览器对目标应用缓存图片资源时,目标缓存空间中可以缓存大量目标应用的图片资源,当用户在反复浏览目标应用的某一部分图片资源时,目标浏览器可以快速地从目标缓存空间中获取这一部分图片资源的任意一个,节省很多图片加载的时间。

图6示出了根据一些实施例的控制器250的第二种控制流程图。

在一些实施例中,为了防止目标应用申请不合理的图片缓存空间,控制器250还需要对目标应用申请扩充的缓存空间的大小进行限制。

如图6所示,控制器250需要先获取到用于显示缓存空间大小的预设缓存极限值,这个预设缓存极限值经过多次试验和评估,可以设置为100M。控制器250在确认了目标应用的预设图片缓存值大于目标浏览器的原始缓存值之后,为目标浏览器扩充缓存空间,此时,控制器250还需要检测原始缓存空间扩充后的目标缓存空间的大小是否小于预设缓存极限值。如果目标缓存空间的大小小于或者等于预设极限缓存值,则说明目标缓存空间的大小并未超出限制,此时,控制器250可以继续控制目标浏览器运行目标应用,从服务器400获取到用户当前需要浏览的图片资源再进行加载,并利用目标缓存空间缓存该图片资源。

而如果目标缓存空间的大小大于预设极限缓存值,则说明原始缓存空间扩充后的目标缓存空间的大小过大,为了避免申请过大的缓存空间使系统运行内存减少进行造成系统无法正常运行的情况,如图6所示,控制器250需要将预设极限缓存值作为目标浏览器分配的目标缓存空间的大小。而后,控制器250再继续控制目标浏览器运行目标应用,从服务器400获取到用户当前需要浏览的图片资源再进行加载,并利用目标缓存空间缓存该图片资源。

控制器250可以依照上述的方式依次将目标应用的图片资源缓存到目标缓存空间中,并且当前的目标缓存空间可以缓存很多的图片资源,当用户反复浏览目标应用的一部分的图片时,这部分的图片资源可以被全部缓存在目标缓存空间中并且随用随取,目标浏览器不必从服务器400中获取,节省了大量图片资源加载的时间。

图7示出了根据一些实施例的应用A的一种页面示意图。图8示出了根据一些实施例的应用A的第二种页面示意图。图9示出了根据一些实施例的应用A的第三种页面示意图。

在控制器250默认使用目标浏览器原始配置的原始缓存空间时,如果用户操作的目标应用为应用A,当目标浏览器第一次加载时某幅图片时,目标浏览器在原始缓存空间中找不到此图片的存在,因此需要从服务器400中获取,图片下载成功后会立即渲染绘制出来。下载过程中,应用A上的UI页面使用灰色占位图表示等待被加载的图片内容,如图7所示,如果第一张图片为用户选择浏览的图片,那么由于其正在被加载,因此该位置处显示灰色。而其余的图片需要等待用户选择浏览时再被加载;或者在用户并未选择浏览任何内容时,目标浏览器在第一张图片加载后再依次加载其余的图片,所以此时其他图片的位置也显示为灰色。

如图7中所示的第一张图片被加载好之后,用户可能会继续浏览其他图片,例如图7中第二行的图片,此时如果原始缓存空间不足,会将第一行的中缓存过的图片删除,以缓存第二行的图片。之后,用户如果再返回到第一行浏览,目标浏览器就需要重新从网络从服务器400中获取第一行的图片并加载,如图8所示,这个加载过程中又会导致第一行图片位置处长时间显示灰色占位图。当网速较差时,图片加载的时间就会延长,这也会造成较差的用户体验。

而在本申请实施例中,控制器250可以根据目标应用的预设图片缓存值判断出是否需要为目标浏览器扩充缓存空间,在为目标浏览器扩充缓存空间后,目标缓存空间可以缓存大量的图片资源。因此,在用户浏览了如图7-图8中所示的第一行和第二行中图片资源后,目标缓存空间中可以同时缓存第一行和第二行的图片资源。这样,如图9所示,用户浏览了第二行的图片后又跳回至第一行浏览,那么目标浏览器就可以直接从目标缓存空间中立即加载到第一行的图片,而无需再次联网从服务器400中获取。这个过程中,图片加载的速度很快,不会为用户显示出灰色图片。

图10示出了根据一些实施例的控制器250的第三种控制流程图。

由前述内容可知,显示设备200中可能存在多个浏览器,进而根据不同浏览器的配置,控制器250为其分配的用于缓存图片的缓存空间的大小也是不同的。在实际情况中,用户可能从一个应用A切换到另一个应用B进行图片资源的浏览,如果切换前后的两个应用A、B均属于同一个浏览器层面,即两个应用A、B的网页是由同一个浏览器a运行的,如果浏览器a在运行应用A时已经扩充为目标缓存空间,切换后的应用B在运行时,很可能浏览器a当前的目标缓存空间针对于应用B的图片缓存来说仍然足够,那么就不需要再为浏览器a重新扩充缓存空间,仍使用目标缓存空间即可。例如,应用A的预设图片缓存值为50M,浏览器a的原始缓存值为10M,而控制器250为浏览器a扩充的目标缓存空间的大小为50M,如果应用B的预设图片缓存值为40M,当前的目标缓存空间的大小可以满足应用B的图片资源缓存需求,那么当浏览器a继续运行应用B时,控制器250则不必再为浏览器a扩充缓存空间。

进而,在一些实施例中,如图10所示,控制器250可以在控制目标应用退出后,检测当前应用是否也由目标浏览器运行;并且在当前应用也是由目标浏览器运行的情况下,继续控制目标浏览器在运行当前应用时,利用目标缓存空间缓存当前应用的图片资源。

图11示出了根据一些实施例的控制器250的第四种控制流程图。

当然,在实际的图片缓存过程中,也有可能出现浏览器a的目标缓存空间的大小不能满足应用B的图片缓存需求的情况,例如,应用A的预设图片缓存值为50M,浏览器a的原始缓存值为10M,而控制器250为浏览器a扩充的目标缓存空间的大小为50M,如果应用B的预设图片缓存值为60M,当前的目标缓存空间的大小不能满足应用B的图片资源缓存需求,那么当浏览器a继续运行应用B时,控制器250则需要再为浏览器a扩充缓存空间。

此时,仍然可以根据前述实施例的方式,继续对浏览器a当前的目标缓存空间进行扩充。在此过程中,控制器250需要检测出切换后的应用B的预设图片缓存值与浏览器a当前的目标缓存空间大小的关系。

进而,在其他一些实施例中,如图11所示,控制器250在当前应用也是由目标浏览器运行的情况下,检测当前应用的预设图片缓存值是否大于目标缓存空间的大小;如果当前应用的预设图片缓存值小于或者等于目标缓存空间的大小,说明当前目标浏览器的目标缓存空间的大小足够,这种情况下,控制器250可以继续控制目标浏览器运行当前应用,并控制目标浏览器利用目标缓存空间缓存当前应用的图片资源。

而如果当前应用的预设图片缓存值大于目标缓存空间的大小,则说明当前目标浏览器的目标缓存空间不足,这种情况下,如图11所示,控制器250需要继续为目标浏览器扩充缓存空间;使由目标缓存空间扩充的当前缓存空间的大小与当前应用的预设图片缓存值相同;而后,控制器250再控制目标浏览器运行当前应用,并控制目标浏览器利用当前缓存空间缓存当前应用的图片资源。

另外,在应用B运行的情况下,控制器250在为目标浏览器扩充缓存空间时,由目标缓存空间扩充后的当前缓存空间的大小也应当符合控制器250对缓存空间大小的限制。因此,控制器250还需要检测当前缓存空间的大小是否小于预设极限缓存值,如果由目标缓存空间扩充后的当前缓存空间的大小小于或者等于预设极限缓存值,则说明当前缓存空间的大小未超出限制要求,在这种情况下,控制器250可以继续控制目标浏览器运行当前应用,并控制目标浏览器利用当前缓存空间缓存当前应用的图片资源。

而如果当前缓存空间的大小大于预设极限缓存值,则说明当前缓存空间的大小超出了限制要求,控制器250将预设极限缓存值设为当前缓存空间的大小,而后,继续控制目标浏览器运行当前应用,并控制目标浏览器利用当前缓存空间缓存当前应用的图片资源。

图12示出了根据一些实施例的控制器250的第五种控制流程图。

在实际情况中,用户可能从一个应用C切换到另一个应用D进行图片资源的浏览,如果切换前后的两个应用C、D不属于同一个浏览器层面,即应用C的网页由浏览器c运行,而应用D的网页由浏览器d运行,那么在切换后,浏览器d就不能再利用之前为浏览器c分配的缓存空间来缓存应用D的图片资源,控制器250需要重新为浏览器d分配新的原始缓存空间,并在应用D的预设图片缓存值大于浏览器d的原始缓存值的情况下,为当前浏览器d扩充缓存空间。

进而,在一些实施例中,如图12所示,控制器250可以在控制目标应用退出后,检测当前应用是否也由目标浏览器运行;并且在当前应用不是由目标浏览器运行的情况下,释放为目标浏览器扩充的缓存空间。而后再检测当前应用的预设图片缓存值与运行当前应用的当前浏览器的原始缓存值的关系。如果当前应用的预设图片缓存值大于当前浏览器的原始缓存值,则说明当前浏览器的原始缓存空间不能满足当前应用的图片缓存要求,这种情况下,控制器250需要继续为当前浏览器扩充缓存空间;而后,控制当前浏览器运行当前应用,并控制当前浏览器利用扩充后的缓存空间缓存当前应用的图片资源。

而如果当前应用的预设图片缓存值小于或者等于当前浏览器的原始缓存值,则说明当前浏览器的原始缓存空间能够满足当前应用的图片缓存要求,这种情况下,控制器250不必为当前浏览器扩充缓存空间。控制器250可以直接控制当前浏览器利用原始缓存空间缓存当前应用的图片资源。

图13示出了根据一些实施例的控制器250的第六种控制流程图。

在实际情况中,控制器250为浏览器扩充缓存空间的同时也要考虑扩充操作对显示设备200系统的影响。在显示设备200中,存储空间是固定的,如果浏览器占用了过多的内存空间用来缓存图片资源,那么显示设备200系统的运行内存也随之减少,如果运行内存不足,会导致系统运行不稳定。因此,在一些实施例中,控制器250在系统具有内存压力的情况下,将所占用的缓存空间释放,以保护系统内存,维护系统的稳定性。

如图13所示,控制器250需要实时检测是否接收到显示设备200的系统发出的内存预警通知;并在接收到内存预警通知的情况下,立即释放为目标浏览器扩充的缓存空间;而后,再控制目标浏览器继续运行目标应用,并控制目标浏览器利用其原始缓存空间缓存目标应用的图片资源。

另外,如果用户退出了目标应用而选择了下一个应用(即当前应用)打开,那么控制器250在控制当前浏览器运行当前应用的同时,也需要实时地检测是否接收到内存预警通知。

由以上内容可知,本申请实施例提供的显示设备200,由其中的控制器250控制目标浏览器运行目标应用,并且,控制器250可以在预设图片缓存值大于原始缓存值的情况下,为目标浏览器扩充缓存空间,以使目标缓存空间的大小可以满足目标应用的图片资源加载需求。进而,在目标浏览器对目标应用缓存图片资源时,目标缓存空间中可以缓存大量目标应用的图片资源,当用户在反复浏览目标应用的某一部分图片资源时,目标浏览器可以快速地从目标缓存空间中获取这一部分图片资源的任意一个,节省很多图片加载的时间。

图14示出了根据一些实施例的动态管理图片缓存空间的方法的一种流程图。

本申请实施例还提供了一种动态管理图片缓存空间的方法,该方法可以应用于如前述实施例中所述的可以实现控制功能的控制器250等控制模块中。如图14所示,该方法可以包括:

步骤S101,获取目标应用的预设图片缓存值以及运行目标应用的目标浏览器的原始缓存值。

其中,预设图片缓存值用于表示目标应用运行时所需缓存图片资源的大小,原始缓存值用于表示目标浏览器运行目标应用时使用的缓存空间的大小。

步骤S102,在预设图片缓存值大于原始缓存值的情况下,为目标浏览器扩充缓存空间,以使由原缓存空间扩充后的目标缓存空间的大小与预设图片缓存值相同。

步骤S103,控制目标浏览器在运行目标应用时,利用目标缓存空间缓存目标应用的图片资源。

在一些实施例中,所述方法还包括:获取用于限制所述缓存空间的大小的预设缓存极限值;在所述预设图片缓存值大于所述原始缓存值以及为所述目标浏览器扩充缓存空间的情况下,检测所述目标缓存空间的大小是否小于所述预设缓存极限值;在所述目标缓存空间的大小小于或者等于所述预设极限缓存值的情况下,控制所述目标浏览器在运行所述目标应用时,利用所述目标缓存空间缓存所述目标应用的图片资源。

在一些实施例中,所述方法还包括:在所述目标缓存空间的大小大于所述预设极限缓存值的情况下,将所述目标缓存空间的大小设为所述预设极限缓存值;控制所述目标浏览器在运行所述目标应用时,利用所述目标缓存空间缓存所述目标应用的图片资源。

在一些实施例中,所述方法还包括:在控制所述目标应用退出后,检测当前应用是否也由所述目标浏览器运行;在所述当前应用也是由所述目标浏览器运行的情况下,继续控制所述目标浏览器在运行所述当前应用时,利用所述目标缓存空间缓存所述当前应用的图片资源。

在一些实施例中,所述方法还包括:在所述当前应用也是由所述目标浏览器运行的情况下,检测所述当前应用的预设图片缓存值是否大于所述目标缓存空间的大小;在所述当前应用的预设图片缓存值小于或者等于所述目标缓存空间的大小的情况下,继续控制所述目标浏览器在运行所述当前应用时,利用所述目标缓存空间缓存所述当前应用的图片资源。

在一些实施例中,所述方法还包括:在所述当前应用的预设图片缓存值大于所述目标缓存空间的大小的情况下,继续为所述目标浏览器扩充缓存空间;在由目标缓存空间扩充后的当前缓存空间的大小小于或者等于所述预设极限缓存值的情况下,控制所述目标浏览器在运行所述当前应用时,利用所述当前缓存空间缓存所述当前应用的图片资源。

在一些实施例中,所述方法还包括:在所述当前应用不是由所述目标浏览器运行的情况下,释放为所述目标浏览器扩充的缓存空间;在所述当前应用的预设图片缓存值大于运行所述当前应用的当前浏览器的原始缓存值的情况下,为所述当前浏览器扩充缓存空间;控制所述当前浏览器在运行所述当前应用时,利用所述扩充后的缓存空间缓存所述当前应用的图片资源。

在一些实施例中,所述方法还包括:实时检测是否接收到显示设备的系统发出的内存预警通知;在接收到所述内存预警通知的情况下,立即释放为所述目标浏览器扩充的缓存空间;控制所述目标浏览器在运行所述目标应用时,利用所述目标浏览器的原始缓存空间缓存所述目标应用的图片资源。

由于本申请实施例中所述的动态管理图片缓存空间的方法可以应用于如前述实施例所述的控制器250中,因此,关于本申请实施例中动态管理图片缓存空间的方法的其他内容可以参照前述实施例的内容,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

相关技术
  • 动态管理图片缓存空间的方法及显示设备
  • 建筑空间动态管理方法和装置
技术分类

06120112810589