具体实施方式
如图1所示,是本发明阅读器内存优化系统的应用环境图。该阅读器内存优化系统20运行于计算机2中。所述计算机2连接有显示器1、键盘3及鼠标4,作为具体操作时的输入、输出设备。
所述计算机2存储有文件,所述文件可以是,但不限于,PDF文件或WORD文件等。
所述计算机2安装有文件阅读器,例如,PDF文件阅读器、WORD文件阅读器等,所述文件阅读器是一种能够打开对应文件的软件,例如,PDF文件阅读器是指能够打开PDF文件的软件,WORD文件阅读器是指能够打开WORD文件的软件。
所述计算机2还安装有第一产生器及第二产生器,所述第一产生器及第二产生器在启动时,能够通过操作系统产生底层画布,并将文件的内容加载到底层画布上,并通过显示器1显示出来。需要说明的是,第一产生器所产生的底层画布能够对文件的内容进行压缩,从而降低文件的内存占用率,而第二产生器所产生的底层画布并不会对文件的内容进行压缩。在本较佳实施例中,所述第一产生器是,但不限于,联合图像专家小组(JointPhotographic Experts Group,JPEG)产生器。所述第二产生器是,但不限于,位图(Bitmap,BMP)产生器。
参阅图2所示,是本发明计算机2较佳实施例的结构示意图。该计算机2除了包括阅读器内存优化系统20,还包括通过数据线或信号线相连的存储器260和处理器270。该阅读器内存优化系统20包括加载模块210、判断模块220、启动模块230、显示模块240及清除模块250。模块210至250的程序化代码存储于存储器260中,处理器270执行这些程序化代码,实现阅读器内存优化系统20提供的上述功能。
所述加载模块210用于将文件加载到计算机2的内存(以下简称内存)的第一区域。
所述判断模块220用于判断文件中是否有图片。具体而言,所述判断模块220从内存的第一区域中读取文件的属性信息,以判断文件中是否有图片。所述文件的属性信息包括文件的名称、文件的格式、文件的大小、文件的类型、文件的图片信息等。一般而言,若文件中有图片,该文件的属性信息会包含图片信息(例如,图片在文件中的具体位置及图片的标号等信息),判断模块220读取文件的属性信息就可以得知该文件中是否存在图片。需要说明的是,当判断模块220判断文件是否有图片之后,判断模块220将清除第一区域中的文件,以节约内存。
所述加载模块210还用于将文件加载到内存的第二区域。
所述启动模块230用于当文件存在图片时,在内存的第二区域内启动第一产生器,并通过第一产生器产生底层画布。
所述启动模块230还用于当文件不存在图片时,在内存的第二区域内启动第二产生器,并通过第二产生器产生底层画布。
所述加载模块210还用于将文件加载到所述第一产生器产生的底层画布中,并通过第一产生器对文件内容进行压缩处理。
所述加载模块210还用于将文件加载到所述第二产生器产生的底层画布中。需要说明的是,第二产生器并不会对文件进行压缩处理。
所述判断模块220还用于判断文件加载到所述第二产生器产生的底层画布中之后,内存使用率是否小于某一个设定的值(例如,10%)。
所述显示模块240用于将包含第一产生器产生的底层画布的文件加入到文件阅读器中,并显示出来。
所述显示模块240还用于将包含第二产生器产生的底层画布的文件加入到文件阅读器中,并显示出来。
所述清除模块250用于当文件加载到所述第二产生器产生的底层画布中之后,内存使用率是大于或等于某一个设定的值时,清除内存的第二区域中的包含第二产生器产生的底层画布的文件,并重新加载该文件到第二区域中。具体而言,清除模块250调用操作系统中的切换器,通过切换器清除内存的第二区域中的文件。所述切换器是操作系统一个模块,主要功能是回收内存资源,即利用操作系统的垃圾回收机制,将文件在内存的第二区域里所占用的空间释放。
如图3所示,是本发明阅读器内存优化方法较佳实施例的流程图。
步骤S10,加载模块210将文件加载到计算机2的内存(以下简称内存)的第一区域。
步骤S20,判断模块220用于判断文件中是否有图片。具体而言,所述判断模块220从内存的第一区域中读取文件的属性信息,以判断文件中是否有图片。一般而言,若文件中有图片,该文件的属性信息会包含图片的信息(例如,图片在文件中的具体位置及图片的标号等信息),判断模块220读取文件的属性信息就可以得知该文件中是否存在图片。若文件中有图片,流程进入步骤S30。若文件中没有图片,流程进入步骤S60。
步骤S30,当文件存在图片时,加载模块210将文件加载到内存的第二区域。
步骤S40,启动模块230在内存的第二区域内启动第一产生器,并通过第一产生器产生底层画布。
步骤S50,加载模块210将文件加载到所述第一产生器产生的底层画布中,并通过第一产生器对文件内容进行压缩处理。
步骤S110,显示模块240将包含第一产生器产生的底层画布的文件加入到文件阅读器中,并显示出来。
步骤S60,当文件不存在图片时,加载模块210将文件加载到内存的第二区域。
步骤S70,当文件不存在图片时,启动模块230在内存的第二区域内启动第二产生器,并通过第二产生器产生底层画布。
步骤S80,加载模块210还用于将文件加载到所述第二产生器产生的底层画布中。需要说明的是,第二产生器并不会对文件进行压缩处理。
步骤S90,判断模块220判断文件加载到所述第二产生器产生的底层画布中之后,内存使用率是否小于某一个设定的值(例如,10%)。当文件加载到所述第二产生器产生的底层画布中之后,内存使用率小于某一个设定的值时,流程进入步骤S120。当文件加载到所述第二产生器产生的底层画布中之后,内存使用率是大于或等于某一个设定的值时,流程进入步骤S100。
步骤S100,清除模块250清除内存的第二区域中的包含第二产生器产生的底层画布的文件,然后返回步骤S30,重新加载该文件到第二区域中。具体而言,清除模块250调用操作系统中的切换器,通过切换器清除内存的第二区域中的文件。所述切换器是操作系统一个模块,主要功能是回收内存资源,即利用操作系统的垃圾回收机制,将文件在内存的第二区域里所占用的空间释放。
步骤S120,显示模块240将包含第二产生器产生的底层画布的文件加入到文件阅读器中,并显示出来。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。