一种移动终端浏览网络图片的方法和装置制造方法

文档序号:6526460阅读:155来源:国知局
一种移动终端浏览网络图片的方法和装置制造方法
【专利摘要】本发明公开了一种移动终端浏览网络图片的方法和装置,通过接收用户的查看网络图片的请求,下载所述网络图片;在可活动组件中生成与所述网络图片对应的位图文件对象;判断所述位图文件对象所占用的内存是否小于剩余内存,若为是,则显示所述位图文件对象对应的网络图片;若为否,则按照预定比例缩放所述网络图片,然后在可活动组件中生成与缩放后的网络图片对应的位图文件对象,再判断缩放后的网络图片对应的位图文件对象所占用的内存是否小于剩余内存,直到缩放后的位图文件对象所占用的内存小于剩余内存;从而防止了移动终端在浏览大量网络图片时出现内存溢出的问题。
【专利说明】一种移动终端浏览网络图片的方法和装置
【技术领域】
[0001]本发明涉及移动终端领域,尤其涉及的是一种移动终端浏览网络图片的方法和
>J-U装直。
【背景技术】
[0002]现有移动终端中的图片管理软件,只针对用户本地的图片进行浏览和管理,不能对大量网络图片进行浏览。
[0003]现有的移动终端在浏览网络图片的过程中,若网络图片太大太多,且如果不能及时把网络图片所消耗掉的内存给释放回收起来,就会造成内存溢出,也就是内存不够,给用户的浏览网络图片带来不便。
[0004]并且现有的移动终端中用户通过浏览器浏览网络图片时,在浏览器页面上显示的是缩略图,也就是小图;若用户想看完整的图片时,则需要点击观看大图,即点击该缩略图,然后下载对应的完整图即大图,然后在移动终端的屏幕上进行显示,这样会在移动终端的界面上显示下载过程,即用户需要等待完整图片数据下载完成才能观看,将下载的过程直观的显示出来,并让用户等待,使得用户体验效果较差,也就是说用户在观看原图时需要等待,浪费用户时间,给用户带来了不便。
[0005]因此,现有技术还有待于改进和发展。

【发明内容】

[0006]本发明要解决的技术问题在于,提供一种移动终端浏览网络图片的方法和装置,旨在解决现有的移动终端在浏览网络图片时内存溢出的问题。
[0007]本发明解决技术问题所采用的技术方案如下:
一种移动终端浏览网络图片的方法,其中,包括以下步骤:
A、接收用户的查看网络图片的请求,下载所述网络图片;
B、在可活动组件中生成与所述网络图片对应的位图文件对象;
C、判断所述位图文件对象所占用的内存是否小于剩余内存,若为否,则执行步骤D;若为是,则执行步骤E ;
D、按照预定比例缩放所述网络图片,返回步骤B;
E、显示所述位图文件对象对应的网络图片。
[0008]所述的移动终端浏览网络图片的方法,其中,在所述步骤E之后还包括:
F、删除所述可活动组件,将所述网络图片所占用的内存清空。
[0009]所述的移动终端浏览网络图片的方法,其中,所述步骤A具体包括:
Al、接收用户的查看网络图片的请求;
A2、根据所述网络图片的图片信息,判断在缓存中是否存在所述网络图片,若为是,则执行步骤B ;若为否,则下载所述网络图片并生成对应的缩略图信息。
[0010]所述的移动终端浏览网络图片的方法,其中,在步骤A2中,所述下载所述网络图片生成对应的缩略图信息,具体包括:
A21、对所述网络图片的图片信息进行编码,生成相应的编码信息;
A22、判断是否存在下载所述网络图片的下载服务,若为否,则执行步骤A23 ;若为是,则执行步骤A24;
A23、开启下载服务并创建缓存路径;
A24、解码所述编码信息,下载所述网络图片;
A25、当所述网络图片下载完成后,生成对应的缩略图信息。
[0011]所述的移动终端浏览网络图片的方法,其中,所述步骤A还包括:
A3、将所述网络图片存入缓存中。
[0012]所述的移动终端浏览网络图片的方法,其中,所述步骤D具体包括:
D1、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高;若为否,则根据所述网络图片的宽和高及所述显示区域的宽和高来计算所述预定比例N;若为是,则设置所述预定比例N为2:1 ;
D2、按照预定比例缩放所述网络图片,返回步骤B。
[0013]所述的移动终端浏览网络图片的方法,其中,所述步骤D1具体包括:
D11、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高,若是则设置所述预定比例为2:1,转向所述步骤D2 ;否则转向步骤D12 ;
D12、计算所述显示区域对应的显示图像的像素个数及所述网络图片的像素个数,并采用像素点比例公式来计算所述网络图片与所述显示图像的像素点个数比例,获得第一比例;
D13、获取所述显示图像的长及宽、所述网络图片的长及宽,采用长宽比例公式来计算所述网络图片与所述显示图像的比例,获得第二比例;
D14、比较所述第一及第二比例,基于比较结果来确定所述预定比例。
[0014]所述的移动终端浏览网络图片的方法,其中,所述步骤D14具体为:
D141、分析所述第一及第二比例,选取较大者,标为K ;
D142、若所述K小于预设值,则确定所述预定比例N为1,若所述K大于或等于预设值,则确定所述预定比例N为:Math, ceil ((K+7)/8)*8,其中所述Κ及Ν为大于零的自然数。
[0015]所述的移动终端浏览网络图片的方法,其中,所述步骤D2具体为:
D21、以所述预定比例Ν为长度,对每一行及每一列的像素点进行分段,得到若干段像
素组合;
D22、对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值。
[0016]一种移动终端浏览网络图片的装置,其中,包括:
网络图片下载模块,用于接收用户的查看网络图片的请求,下载所述网络图片;
位图文件对象生成模块,用于在可活动组件中生成与所述网络图片对应的位图文件对
象;
内存判断模块,用于判断所述位图文件对象所占用的内存是否小于剩余内存;
缩放模块,用于按照预定比例缩放所述网络图片;
显示模块,用于显示所述位图文件对象对应的网络图片。[0017]本发明所提供的一种移动终端浏览网络图片的方法和装置,有效地解决了现有的移动终端浏览网络图片时存在内存溢出的问题,通过接收用户的查看网络图片的请求,下载所述网络图片;在可活动组件中生成与所述网络图片对应的位图文件对象;判断所述位图文件对象所占用的内存是否小于剩余内存,若为是,则显示所述位图文件对象对应的网络图片;若为否,则按照预定比例缩放所述网络图片,然后在可活动组件中生成与缩放后的网络图片对应的位图文件对象,再判断缩放后的网络图片对应的位图文件对象所占用的内存是否小于剩余内存,若为是,则显示缩放后的网络图片,若为否,继续按照预定比例继续缩放缩放后的网络图片,直到缩放后的位图文件对象所占用的内存小于剩余内存为止;从而防止了移动终端在浏览大量网络图片时出现内存溢出的问题,并且将所述网络图片先下载再生成缩略图,将下载的过程隐藏,用户在点开缩略图之后便能看到对应的大图,无需再等待下载,使得浏览大量网络图片就像浏览本地图片一样方便,给用户带来了大大的方便。
【专利附图】

【附图说明】
[0018]图1为本发明提供的移动终端浏览网络图片的方法较佳实施例的流程图。
[0019]图2为本发明提供的移动终端浏览网络图片的装置较佳实施例的结构框图。
【具体实施方式】
[0020]本发明提供一种移动终端浏览网络图片的方法和装置,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021]请参阅图1,图1为本发明提供的移动终端浏览网络图片的方法较佳实施例的流程图,如图所示,所述方法包括以下步骤:
步骤S100、接收用户的查看网络图片的请求,下载所述网络图片;
步骤S200、在可活动组件中生成与所述网络图片对应的位图文件对象;
步骤S300、判断所述位图文件对象所占用的内存是否小于剩余内存,若为否,则执行步骤S400 ;若为是,则执行步骤S500 ;
步骤S400、按照预定比例缩放所述网络图片,返回步骤S200;
步骤S500、显示所述位图文件对象对应的网络图片。
[0022]下面结合具体的实施例对上述步骤进行详细的描述。
[0023]在步骤SlOO中,接收用户的查看网络图片的请求,下载所述网络图片。具体来说,在现有的移动终端中用户通过浏览器浏览网络图片时,在浏览器页面上显示的是缩略图,也就是小图,若用户想看完整的图片时,则需要点击观看大图,即点击该缩略图,然后下载对应的完整图,也就是大图,然后在移动终端的屏幕上进行显示。而本发明提供的移动终端在接收到用户的查看网络图片的请求之后,会先去下载所述网络图片,也就是完整图片。然后生成对应的缩略图信息。这样,在后续的用户点击缩略图来观看大图的时候,用户在点开缩略图之后便能看到对应的大图,无需在点击缩略图之后再等待下载大图,使得浏览大量网络图片就像浏览本地图片一样方便。所述缩略图信息即为所述网络图片在网页上的图片,缩略图相比网络图片(即原图)较小,用于体现原图,但清晰度不高。此处不再详细赘述。
[0024]在步骤S200中,在可活动组件中生成与所述网络图片对应的位图文件对象。也就是说,在可活动组件中,将所述网络图片转化为相应的位图文件对象。具体来说,所述可活动组件即Activity组件,Activity是Android组件中最基本也是最为常见用的四大组件之一(Activity, Service 服务,Content Provider 内容提供者,Broadcast Receiver 广播接收器)。所述位图文件对象即bitmap对象,所述bitmap对象,即位图文件(Bitmap),扩展名可以是bmp或者dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。例如,一幅1024X768分辨率的32位真彩图片,其所占存储字节数为:1024 X 768 X32/8=3072KB。这样,通过检测所述位图文件对象占用的内存便可以得出网络图片对应占用的内存。
[0025]在步骤S300中,判断所述位图文件对象所占用的内存是否小于剩余内存,若为否,则执行步骤S400 ;若为是,则执行步骤S500。具体来说,Android中处理图片的基础类是Bitmap,顾名思义,就是位图。占用内存的算法如下:图片的width*height*Config。如果Config设置为ARGB_8888,那么上面的Config就是4,那么一张480*320的图片占用的内存就是 480*320*4byte。通过 java 中的 Runtime 类的 getRuntime ()、freeMemory ()方法来实现读取内存剩余信息。而移动终端浏览网络图片的时候,是通过不同的应用来浏览的。不同的应用对应在移动终端中可以用的内存是一定的。所述缓存即应用的缓存,具体来说,就是应用在移动终端中可以使用的内存中划出来的一部分来存放临时数据。通过该应用在浏览图片的过程中,若该应用的剩余内存大于所述位图文件对象所占用的内存,则执行步骤S500、所述位图文件对象对应的网络图片,也就是说内存没有溢出,该网络图片可以正常显示以供用户浏览。若该应用的剩余内存不大于所述位图文件对象所占用的内存,也就是说,浏览过的图片等等数据占用了该应用的部分内存,导致所述位图文件对象所占用的内存已经大于或等于该应用的剩余内存,即剩余内存的容量不能存放所述位图文件对象,那么则执行步骤S400、按照预定比例缩放所述网络图片,返回步骤S200。这样,通过将网络图片转换为bitmap对象,便可计算对应的网络图片在应用内存中占用的内存大小,从而可以在浏览该网络图片之前检测出是否会出现内存溢出的情况。
[0026]在所述步骤S400中,按照预定比例缩放所述网络图片,返回步骤S200。具体来说,当所述位图文件对象所占用的内存不小于剩余内存时,那么将所述位图文件对象对应的网络图片按照预定比例缩放,然后再返回步骤S200,在可活动组件中将缩放后的网络图片转换为对应的位图文件对象,缩放后的网络图片对应的位图文件对象所占用的内存会变小,再执行步骤S300再判断缩放后的网络图片对应的位图文件对象所占用的内存是否小于剩余内存,若是,则可以显示缩放后的网络图片;若否,也就是说缩放后的网络图片对应的位图文件对象还不小于剩余内存,那么继续按照预定比例缩放后的网络图片,即在上次的基础上继续按照预定比例缩放,直到多次缩放后的网络图片对应的位图文件对象所占用的内存小于剩余内存,然后显示该位图文件对象对应的网络图片,从而便可防止出现内存溢出的情况。
[0027]在步骤S500中,显示所述位图文件对象对应的网络图片,以供用户浏览。具体来说,若网络图片没有缩放,则该网络图片对应所占用的内存小于剩余内存,则显示所述网络图片;若网络图片有缩放,则显示缩放后的网络图片。也就是说,所述网络图片在移动终端上显示的是缩略图,用户点击缩略图之后,便可显示所述网络图片,若网络图片对应所占的内存小于剩余内存,则可显示网络图片的原图,用户便可以浏览;若网络图片对应所占的内存大于或等于剩余内存,则将所述网络图片按照预定比例不断缩放,直到缩放后的网络图片占用的内存小于剩余内存,再显示缩放后的网络图片,这样不仅防止了内存溢出,并且先下载所述网络图片,再生产缩略图,使得后续的浏览大量网络图片就像浏览本地图片一样方便,无需现有技术中的等待下载大图。
[0028]进一步地,在所述步骤S500之后,还包括:
S600、删除所述可活动组件,将所述网络图片所占用的内存清空。具体来说,为了进一步地防止内存溢出,在用户浏览完所述网络图片之后,若用户浏览下一个网络图片(譬如关闭网络图片,点击另一个缩略图去看对应的大图),则可销毁所述可活动组件,将浏览过的网络图片所占用的内存清空。在销毁activity时调用bitmap的recycle把内存回收掉。当Activity销毁时,若对其引用计数为0,该activity可被顺利回收,做到activity不被其它的地方引用,需用Context的地方用Application代替;关闭掉子线程,用IsAlive判断子线程是否存在,如果存在将其销毁掉;这样使得剩余内存更多,效果更好。
[0029]进一步地,所述步骤SlOO具体包括:S10、接收用户的查看网络图片的请求;
520、根据所述网络图片的图片信息,判断在缓存中是否存在所述网络图片,若为是,则执行步骤S200 ;若为否,则下载所述网络图片并生成对应的缩略图信息。也就是说,先判断请求查看的图片是否在终端的缓存的缩略图中,若是,直接从缓存中获取,再对其进行后续处理;若不是,开启下载服务进行下载生成缩略图存在缓存中,再进行处理生成图层,根据生成的图层显示图片。
[0030]具体来说,移动终端的应用的缓存中是存放有用户曾经浏览过的网络图片资源的,若用户要查看的网络图片在缓存中已经存在的话,那么则不需要去重新下载该网络图片。至于如何判断网络图片是否存在所述缓存中,则可通过网络图片的图片信息,譬如图片名称、图片URL地址等等便可进行判定。若缓存中已经存在该网络图片,则执行步骤S200 ;若不存在,则下载所述网络图片并生成对应的缩略图信息,也就是说下载该网络图片,再生成对应的缩略图以供用户点击观看网络图片。
[0031]进一步地,所述步骤SlOO还包括:
S30、将所述网络图片存入缓存中。具体来说,就是将下载的网络图片放入移动终端的缓存中,这样,以后用户再次浏览相同的网络图片时,就不需要重新下载了,节约了流量。
[0032]在实际应用时,所述下载所述网络图片生成对应的缩略图信息,具体包括:
521、对所述网络图片的图片信息进行编码,生成相应的编码信息;
522、判断是否存在下载所述网络图片的下载服务,若为否,则执行步骤S23;若为是,则执行步骤S24 ;
523、开启下载服务并创建缓存路径;
524、解码所述编码信息,下载所述网络图片;
525、当所述网络图片下载完成后,生成对应的缩略图信息。
[0033]具体来说,先所述网络图片的图片信息进行编码,生成相应的编码信息,也就是对网络图片的图片名称、URL地址等信息进行编码,生成对应的编码信息。再判断下载服务是否存在,所述下载服务用于下载所述网络图片,也就是判断网络图片部分是否被下载了。若为是,则解码所述编码信息,然后下载所述网络图片。若为否,则开启下载服务下载所述网络图片,并在创建缓存路径,也就是创建本地路径来存放下载后的网络图片,以被后续的调用。在实际应用时,所述编码格式采用JSON数据交互格式,也就是说编码信息的格式为JSON数据格式。所述JSON格式,即Java Script Object Notation,是一种轻量级的数据交换格式。而解码采用GS0N的JS0N解析方法对所述编码信息进行解码,所述GS0N相比JSON Object,好处在于具有高效、安全的反射;高效的解析速度;简化的开发流程,对比JSON Object每次都要设计解析的对象,GS0N只需要设计值对象。这样,使得下载网络图片速度更快,且下载服务是一个从编码到解码的过程,使得用户不用等待下载,也就是说用户在移动终端上感觉不到下载这个耗时的过程,用户体验比较好。进一步地,当当所述网络图片下载完成后,生成对应的缩略图信息。生成缩略图是为了用户在移动终端上点击观看对应的大图(网络图片)。
[0034]在实际应用时,用户在浏览某一页网页上有多个网络图片时,即存在多个网络图片时,则下载完所有的网络图片。譬如浏览网络相册时,获取用户的图片查看请求,获取网络相册信息,包括相册标识号、相册名称、相册的描述、图片的URL,和图片数量等,对应进行编码生成编码信息,再下载网络图片,基于android系统的广播机制,下载完单张网络图片后发送广播,并生成对应的缩略图,直到所有的网络图片被下载完,发送广播停止服务。然后进入后续的步骤S200,这样,使得用户在观看具有多个网络图片的网页时(譬如网络相册),使用户感觉不到等待下载的过程,将下载过程隐藏,浏览大量网络图片就像浏览本地图片一样方便。
[0035]进一步地,当用户浏览网络图片时,根据对应的编码信息,将图片信息进行编码为JS0N格式,然后进行解码得到JS0N格式的数据并进行下载。若下载服务对所述网络图片已进行下载,但未下载完,则根据下载进度对下载的图片进行后续的处理生成图层,并根据生成的图层显示图片,直到下载服务对所述网络图片继续进行下载,并下载完,最后全部显示。这样,在网络图片从未下载完到下载完的时候,网络图片的显示一个从模糊到清晰的过程,也就是边下载边显示。
[0036]进一步地,所述步骤S400具体包括:S410、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高;若为否,则根据所述网络图片的宽和高及所述显示区域的宽和高来计算所述预定比例N ;若为是,则设置所述预定比例N为2:1 ;
S420、按照预定比例缩放所述网络图片,返回步骤S200。
[0037]具体来说,所述预定比例可以是人为设定值,譬如2:1、3:1等,再转入步骤S420按照该预定比例来缩放所述网络图片,然后再返回步骤S200进行判定,即可防止内存溢出。为了使得网络图片在缩放后不会比例失衡且在移动终端的显示区域上显示较大,本发明进一步地,断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高;若为否,则根据所述网络图片的宽和高及所述显示区域的宽和高来计算所述预定比例N ;若为是,则设置所述预定比例N为2:1。在实际应用时,譬如:可以根据网络图片的宽高与移动终端显示区域的宽高分别对应进行比较,即相除,取其中较大的值作为缩放比例,然后进行缩放,这样便可以使得缩放后的网络图片宽或高其中之一占满显示区域对应的宽或高。若缩放后的网络图片对应占的内存还大于剩余内存,则继续按照该缩放比例进行缩放,直到占用内存小于剩余内存。若网络图片的宽高就比显示区域的宽高小,那么则缩放比例为2:1,当然也可以为其它比例,这个可以根据需求进行设置。
[0038]优选地,所述步骤S410具体包括:S411、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高,若是则设置所述预定比例为2:1,转向所述步骤S420 ;否则转向步骤S412 ;
5412、计算所述显示区域对应的显示图像的像素个数及所述网络图片的像素个数,并采用像素点比例公式来计算所述网络图片与所述显示图像的像素点个数比例,获得第一比例;
5413、获取所述显示图像的长及宽、所述网络图片的长及宽,采用长宽比例公式来计算所述网络图片与所述显示图像的比例,获得第二比例;
5414、比较所述第一及第二比例,基于比较结果来确定所述预定比例。
[0039]具体来说,在实际应用时,根据所显示图片的像素大小和屏幕显示区域的大小计算合理的缩放比例。当所述网络图片的宽和高不满足同时均对应小于移动终端的显示区域的宽和高时,预定比例计算如下:首先,计算所需显示图像的像素点个数M = a *b;再判断原始图像像素大小与所需显示图像像素大小的比例sizel=Math.(c * d / M),并取最接近sizel的正整数,即第一比例;再计算原始图像宽高与所需显示图像区域的宽高的比例,并取最接近两者中较大者的正整数,即Size2 = Max (Math./7oor (c / a), Math.floor (A / b)),即第二比例;然后比较所述第一及第二比例,基于比较结果来确定所述预定比例,譬如可以取sizel和size2两者中较大的size = max (sizel, size2),作为所述予页定比例来进行缩放。
[0040]进一步地,所述步骤S414具体为:
54141、分析所述第一及第二比例,选取较大者,标为K(即上述的size);
54142、若所述K小于预设值,则确定所述预定比例N为I,若所述K大于或等于预设值,则确定所述预定比例N为:Math, ceil ((K+7)/8)*8,其中所述K及N为大于零的自然数。
[0041]具体来说,如何计算缩放大小,可以选择上述的size = max(sizel, size2),即第一比例和第二比例中的较大者,并将其与预设值比较,譬如预设值为8,若size小于8,则取size =1,即所述预定比例N为I ;若size >8,则所述预定比例N为Math, ceil ((size+7)/8) *8。其中,c表示所述图片的宽度,d表示所述图片的高度,a表示可显示区域的宽度,b表示可显示区域的高度,floor表示获取小于等于变量的最大整数。
[0042]进一步地,所述步骤S420具体为:
5421、以所述预定比例N为长度,对每一行及每一列的像素点进行分段,得到若干段像素组合;
5422、对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值。
[0043]具体来说,至于如何按照预定比例缩放所述网络图片,为了使得缩放后的图片颜色不失真,根据上面所得到的缩放比例,以所述预定比例N为长度,对所述网络图片的每一行及每一列的像素点进行分段,得到若干段像素组合;然后对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值,从而逐行计算相邻的多个像素点所表示颜色值的平均值,以及逐列相邻多个像素点所表示颜色值的平均值,形成目标图片位图格式数据。即对网络图片每行及每列的像素点以N为长度来分段,取每一段的像素值平均值,即利用像素点来进行压缩,将N个像素点变成一个像素点。例如:若缩放比例是N,则对i行中的像素点,取相邻的(i, j+l)、(i,j+2)、(i,j+3)...(i, j+N)像素点,则上述相邻N个像素点的值的平均值为[h(i, j+l)+h(i, j+2)+h(i, j+3>..+h(i,j+N)]/N。对第j列中的像素点,取相邻的(i+1, j)、(i+2,j)、(i+3,j)…(i+N, j)像素点,则上述相邻N 个像素点的值的平均值为[h(i, j+l)+h(i, j+2)+h(i, j+3)+...+h(i,j+N)]/N。对 i+1 行,i+1列依次类推。其中(i,j)表示第i行,第j列的像素点的坐标,h(i,j)为其对应的像素值。这样,缩放后的网络图片的像素不会出现较大失真。需要说明的是,当某行或列的像素点的数量不是N的倍数时,那么最后一段的像素点个数肯定小于N,此时的像素平均值为该若干个像素点对应的像素值之和除以像素点个数即可。
[0044]进一步地,所述步骤S400还包括:
S430、接收用户的操作指令,回收缓存中已浏览过的位图文件对象。具体来说,当剩余内存不够时,还可以提示用户是否回收缓存中的图片,根据用户的确认操作来释放内存。在实际应用时,可以手动或自动回收缓存中的图片,利用bitmap.recycleO , bitmap = null来对缓存中图片进行回收。在缓存中,存放的图片所占的内存是一定,这是在应用中设定的阈值,应用所占内存的超过设定的阈值时,则根据时间顺序清除看过的图片,清除较早的图片资源,留下最近的图片资源。
[0045]本发明提供的移动终端浏览网络图片的方法,防止了移动终端在浏览大量网络图片时出现内存溢出的问题,并且将所述网络图片先下载再生成缩略图,将下载的过程隐藏,用户在点开缩略图之后便能看到对应的大图,无需再等待下载,使得浏览大量网络图片就像浏览本地图片一样方便,其通过软件实现,实现简单,成本较低,给用户带来了大大的方便。
[0046]基于上述移动终端浏览网络图片的方法,本发明还提供了一种移动终端浏览网络图片的装置,如图2所示,所述装置包括:
网络图片下载模块10,用于接收用户的查看网络图片的请求,下载所述网络图片;具体如步骤S100所述;
位图文件对象生成模块20,用于在可活动组件中生成与所述网络图片对应的位图文件对象;具体如步骤S200所述;
内存判断模块30,用于判断所述位图文件对象所占用的内存是否小于剩余内存;具体如步骤S300所述;
缩放模块40,用于按照预定比例缩放所述网络图片;具体如步骤S400所述;
显示模块50,用于显示所述位图文件对象对应的网络图片;具体如步骤S500所述。
[0047]进一步地,所述移动终端浏览网络图片的装置,还包括:
回收模块,用于销毁所述可活动组件,将所述网络图片所占用的内存清空。
[0048]进一步地,所述网络图片下载模块10包括:
请求接收单元,用于接收用户的查看网络图片的请求;
网络图片判断单元,用于根据所述网络图片的图片信息,判断在缓存中是否存在所述网络图片;
网络图片下载单元,用于下载所述网络图片;
缩略图生成单元,用于根据所述网络图片生成对应的缩略图信息。
[0049]进一步地,所述网络·图片下载单元包括:
编码子单元,用于对所述网络图片的图片信息进行编码,生成相应的编码信息; 下载判断子单元,用于判断是否存在下载所述网络图片的下载服务;
下载开启子单元,用于开启下载服务并创建缓存路径;
解码子单元,用于解码所述编码信息;
网络图片下载子单元,用于下载所述网络图片。
[0050]进一步地,所述缩放模块40包括:
大小判断单元,用于判断所述网络图片的大小是否小于移动终端的显示屏幕大小;预定比例计算单元,用于当所述网络图片的宽和高均对应小于移动终端的显示区域的宽和高,设置所述预定比例N为2:1 ;否则根据所述网络图片的宽和高及所述显示区域的宽和高来计算所述预定比例N ;
缩放单元,用于按照预定比例缩放所述网络图片。
[0051]进一步地,所述预定比例计算单元包括:
第一预定比例计算子单元,用于判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高,若是则设置所述预定比例为2:1 ;
第二预定比例计算子单元,用于计算所述显示区域对应的显示图像的像素个数及所述网络图片的像素个数,并采用像素点比例公式来计算所述网络图片与所述显示图像的像素点个数比例,获得第一比例;获取所述显示图像的长及宽、所述网络图片的长及宽,采用长宽比例公式来计算所述网络图片与所述显示图像的比例,获得第二比例;比较所述第一及第二比例,基于比较结果来确定所述预定比例。
[0052]进一步地,所述第二预定比例计算子单元,还用于分析所述第一及第二比例,选取较大者,标为K ;若所述K小于预设值,则确定所述预定比例N为I,若所述K大于或等于预设值,则确定所述预定比例N为:Math, ceil ((K+7)/8)*8,其中所述K及N为大于零的自然数。
[0053]进一步地,所述缩放单元包括:
分段子单元,用于以所述预定比例N为长度,对每一行及每一列的像素点进行分段,得到若干段像素组合;
像素平均子单元,用于对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值。
[0054]本发明所述的移动终端为手机或平板电脑等移动终端。
[0055]综上所述,本发明提供的一种移动终端浏览网络图片的方法和装置,通过接收用户的查看网络图片的请求,下载所述网络图片;在可活动组件中生成与所述网络图片对应的位图文件对象;判断所述位图文件对象所占用的内存是否小于剩余内存,若为是,则显示所述位图文件对象对应的网络图片;若为否,则按照预定比例缩放所述网络图片,然后在可活动组件中生成与缩放后的网络图片对应的位图文件对象,再判断缩放后的网络图片对应的位图文件对象所占用的内存是否小于剩余内存,若为是,则显示缩放后的网络图片,若为否,继续按照预定比例继续缩放网络图片,直到缩放后的位图文件对象所占用的内存小于剩余内存为止;从而防止了移动终端在浏览大量网络图片时出现内存溢出的问题,并且将所述网络图片先下载再生成缩略图,将下载的过程隐藏,用户无需再等待下载,使得浏览大量网络图片就像浏览本地图片一样方便,给用户带来了大大的方便,其通过软件实现,实现简单,成本较低。[0056] 应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【权利要求】
1.一种移动终端浏览网络图片的方法,其特征在于,包括以下步骤: A、接收用户的查看网络图片的请求,下载所述网络图片; B、在可活动组件中生成与所述网络图片对应的位图文件对象; C、判断所述位图文件对象所占用的内存是否小于剩余内存,若为否,则执行步骤D;若为是,则执行步骤E ; D、按照预定比例缩放所述网络图片,返回步骤B; E、显示所述位图文件对象对应的网络图片。
2.根据权利要求1所述的移动终端浏览网络图片的方法,其特征在于,在所述步骤E之后还包括: F、删除所述可活动组件,将所述网络图片所占用的内存清空。
3.根据权利要求1所述的移动终端浏览网络图片的方法,其特征在于,所述步骤A具体包括: Al、接收用户的查看网络图片的请求; A2、根据所述网络图片的图片信息,判断在缓存中是否存在所述网络图片,若为是,则执行步骤B ;若为否,则下载所述网络图片并生成对应的缩略图信息。
4.根据权利要求3所 述的移动终端浏览网络图片的方法,其特征在于,在步骤A2中,所述下载所述网络图片生成对应的缩略图信息,具体包括: A21、对所述网络图片的图片信息进行编码,生成相应的编码信息; A22、判断是否存在下载所述网络图片的下载服务,若为否,则执行步骤A23 ;若为是,则执行步骤A24; A23、开启下载服务并创建缓存路径; A24、解码所述编码信息,下载所述网络图片; A25、当所述网络图片下载完成后,生成对应的缩略图信息。
5.根据权利要求1所述的移动终端浏览网络图片的方法,其特征在于,所述步骤A还包括: A3、将所述网络图片存入缓存中。
6.根据权利要求1所述的移动终端浏览网络图片的方法,其特征在于,所述步骤D具体包括: D1、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高;若为否,则根据所述网络图片的宽和高及所述显示区域的宽和高来计算所述预定比例N ;若为是,则设置所述预定比例N为2:1 ; D2、按照预定比例缩放所述网络图片,返回步骤B。
7.根据权利要求6所述的移动终端浏览网络图片的方法,其特征在于,所述步骤Dl具体包括: D11、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高,若是则设置所述预定比例为2:1,转向所述步骤D2 ;否则转向步骤D12 ; D12、计算所述显示区域对应的显示图像的像素个数及所述网络图片的像素个数,并采用像素点比例公式来计算所述网络图片与所述显示图像的像素点个数比例,获得第一比例;D13、获取所述显示图像的长及宽、所述网络图片的长及宽,采用长宽比例公式来计算所述网络图片与所述显示图像的比例,获得第二比例;D14、比较所述第一及第二比例,基于比较结果来确定所述预定比例。
8.根据权利要求7所述的移动终端浏览网络图片的方法,其特征在于,所述步骤D14具体为:D141、分析所述第一及第二比例,选取较大者,标为K ;D142、若所述K小于预设值,则确定所述预定比例N为1,若所述K大于或等于预设值,则确定所述预定比例N为:Math, ceil ((K+7)/8)*8,其中所述Κ及Ν为大于零的自然数。
9.根据权利要求8所述的移动终端浏览网络图片的方法,其特征在于,所述步骤D2具体为:D21、以所述预定比例Ν为长度,对每一行及每一列的像素点进行分段,得到若干段像素组合;D22、对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值。
10.一种移动终端浏览网络图片的装置,其特征在于,包括:网络图片下载模块,用于接收用户的查看网络图片的请求,下载所述网络图片;位图文件对象生成模块,用于在可活动组件中生成与所述网络图片对应的位图文件对`象;内存判断模块,用于判断所述位图文件对象所占用的内存是否小于剩余内存;缩放模块,用于按照预定比例缩放所述网络图片;显示模块,用于显示所述位图文件对象对应的网络图片。
【文档编号】G06F17/30GK103677942SQ201310742184
【公开日】2014年3月26日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】张艳 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1