CN103677942A - 一种移动终端浏览网络图片的方法和装置 - Google Patents

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

Info

Publication number
CN103677942A
CN103677942A CN201310742184.4A CN201310742184A CN103677942A CN 103677942 A CN103677942 A CN 103677942A CN 201310742184 A CN201310742184 A CN 201310742184A CN 103677942 A CN103677942 A CN 103677942A
Authority
CN
China
Prior art keywords
network picture
picture
network
internal memory
bitmap file
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.)
Granted
Application number
CN201310742184.4A
Other languages
English (en)
Other versions
CN103677942B (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.)
TCL Corp
Original Assignee
TCL Corp
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 TCL Corp filed Critical TCL Corp
Priority to CN201310742184.4A priority Critical patent/CN103677942B/zh
Publication of CN103677942A publication Critical patent/CN103677942A/zh
Application granted granted Critical
Publication of CN103677942B publication Critical patent/CN103677942B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种移动终端浏览网络图片的方法和装置,通过接收用户的查看网络图片的请求,下载所述网络图片;在可活动组件中生成与所述网络图片对应的位图文件对象;判断所述位图文件对象所占用的内存是否小于剩余内存,若为是,则显示所述位图文件对象对应的网络图片;若为否,则按照预定比例缩放所述网络图片,然后在可活动组件中生成与缩放后的网络图片对应的位图文件对象,再判断缩放后的网络图片对应的位图文件对象所占用的内存是否小于剩余内存,直到缩放后的位图文件对象所占用的内存小于剩余内存;从而防止了移动终端在浏览大量网络图片时出现内存溢出的问题。

Description

一种移动终端浏览网络图片的方法和装置
技术领域
 本发明涉及移动终端领域,尤其涉及的是一种移动终端浏览网络图片的方法和装置。
背景技术
现有移动终端中的图片管理软件,只针对用户本地的图片进行浏览和管理,不能对大量网络图片进行浏览。
现有的移动终端在浏览网络图片的过程中,若网络图片太大太多,且如果不能及时把网络图片所消耗掉的内存给释放回收起来,就会造成内存溢出,也就是内存不够,给用户的浏览网络图片带来不便。
并且现有的移动终端中用户通过浏览器浏览网络图片时,在浏览器页面上显示的是缩略图,也就是小图;若用户想看完整的图片时,则需要点击观看大图,即点击该缩略图,然后下载对应的完整图即大图,然后在移动终端的屏幕上进行显示,这样会在移动终端的界面上显示下载过程,即用户需要等待完整图片数据下载完成才能观看,将下载的过程直观的显示出来,并让用户等待,使得用户体验效果较差,也就是说用户在观看原图时需要等待,浪费用户时间,给用户带来了不便。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,提供一种移动终端浏览网络图片的方法和装置,旨在解决现有的移动终端在浏览网络图片时内存溢出的问题。
本发明解决技术问题所采用的技术方案如下:
一种移动终端浏览网络图片的方法,其中,包括以下步骤:
A、接收用户的查看网络图片的请求,下载所述网络图片;
B、在可活动组件中生成与所述网络图片对应的位图文件对象;
C、判断所述位图文件对象所占用的内存是否小于剩余内存,若为否,则执行步骤D;若为是,则执行步骤E;
D、按照预定比例缩放所述网络图片,返回步骤B;
E、显示所述位图文件对象对应的网络图片。
所述的移动终端浏览网络图片的方法,其中,在所述步骤E之后还包括:
F、删除所述可活动组件,将所述网络图片所占用的内存清空。
所述的移动终端浏览网络图片的方法,其中,所述步骤A具体包括:
A1、接收用户的查看网络图片的请求; 
A2、根据所述网络图片的图片信息,判断在缓存中是否存在所述网络图片,若为是,则执行步骤B;若为否,则下载所述网络图片并生成对应的缩略图信息。
所述的移动终端浏览网络图片的方法,其中,在步骤A2中,所述下载所述网络图片生成对应的缩略图信息,具体包括:
A21、对所述网络图片的图片信息进行编码,生成相应的编码信息;
A22、判断是否存在下载所述网络图片的下载服务,若为否,则执行步骤A23;若为是,则执行步骤A24;
A23、开启下载服务并创建缓存路径;
A24、解码所述编码信息,下载所述网络图片;
A25、当所述网络图片下载完成后,生成对应的缩略图信息。
所述的移动终端浏览网络图片的方法,其中,所述步骤A还包括:
A3、将所述网络图片存入缓存中。
所述的移动终端浏览网络图片的方法,其中,所述步骤D具体包括:
D1、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高;若为否,则根据所述网络图片的宽和高及所述显示区域的宽和高来计算所述预定比例N;若为是,则设置所述预定比例N为2:1;
D2、按照预定比例缩放所述网络图片,返回步骤B。
所述的移动终端浏览网络图片的方法,其中,所述步骤D1具体包括:
D11、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高,若是则设置所述预定比例为2:1,转向所述步骤D2;否则转向步骤D12;
D12、计算所述显示区域对应的显示图像的像素个数及所述网络图片的像素个数,并采用像素点比例公式来计算所述网络图片与所述显示图像的像素点个数比例,获得第一比例;
D13、获取所述显示图像的长及宽、所述网络图片的长及宽,采用长宽比例公式来计算所述网络图片与所述显示图像的比例,获得第二比例;
D14、比较所述第一及第二比例,基于比较结果来确定所述预定比例。
所述的移动终端浏览网络图片的方法,其中,所述步骤D14具体为:
D141、分析所述第一及第二比例,选取较大者,标为K;
D142、若所述K小于预设值,则确定所述预定比例N为1,若所述K大于或等于预设值,则确定所述预定比例N为:Math.ceil((K+7)/8)*8 ,其中所述K及N为大于零的自然数。
所述的移动终端浏览网络图片的方法,其中, 所述步骤D2具体为:
D21、以所述预定比例N为长度,对每一行及每一列的像素点进行分段,得到若干段像素组合;
D22、对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值。
一种移动终端浏览网络图片的装置,其中,包括:
网络图片下载模块,用于接收用户的查看网络图片的请求,下载所述网络图片;
位图文件对象生成模块,用于在可活动组件中生成与所述网络图片对应的位图文件对象;
内存判断模块,用于判断所述位图文件对象所占用的内存是否小于剩余内存;
缩放模块,用于按照预定比例缩放所述网络图片;
显示模块,用于显示所述位图文件对象对应的网络图片。
本发明所提供的一种移动终端浏览网络图片的方法和装置,有效地解决了现有的移动终端浏览网络图片时存在内存溢出的问题,通过接收用户的查看网络图片的请求,下载所述网络图片;在可活动组件中生成与所述网络图片对应的位图文件对象;判断所述位图文件对象所占用的内存是否小于剩余内存,若为是,则显示所述位图文件对象对应的网络图片;若为否,则按照预定比例缩放所述网络图片,然后在可活动组件中生成与缩放后的网络图片对应的位图文件对象,再判断缩放后的网络图片对应的位图文件对象所占用的内存是否小于剩余内存,若为是,则显示缩放后的网络图片,若为否,继续按照预定比例继续缩放缩放后的网络图片,直到缩放后的位图文件对象所占用的内存小于剩余内存为止;从而防止了移动终端在浏览大量网络图片时出现内存溢出的问题,并且将所述网络图片先下载再生成缩略图,将下载的过程隐藏,用户在点开缩略图之后便能看到对应的大图,无需再等待下载,使得浏览大量网络图片就像浏览本地图片一样方便,给用户带来了大大的方便。
附图说明
图1为本发明提供的移动终端浏览网络图片的方法较佳实施例的流程图。
图2为本发明提供的移动终端浏览网络图片的装置较佳实施例的结构框图。
具体实施方式
本发明提供一种移动终端浏览网络图片的方法和装置,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明提供的移动终端浏览网络图片的方法较佳实施例的流程图,如图所示,所述方法包括以下步骤:
步骤S100、接收用户的查看网络图片的请求,下载所述网络图片;
步骤S200、在可活动组件中生成与所述网络图片对应的位图文件对象;
步骤S300、判断所述位图文件对象所占用的内存是否小于剩余内存,若为否,则执行步骤S400;若为是,则执行步骤S500;
步骤S400、按照预定比例缩放所述网络图片,返回步骤S200;
步骤S500、显示所述位图文件对象对应的网络图片。
下面结合具体的实施例对上述步骤进行详细的描述。
在步骤S100中,接收用户的查看网络图片的请求,下载所述网络图片。具体来说,在现有的移动终端中用户通过浏览器浏览网络图片时,在浏览器页面上显示的是缩略图,也就是小图,若用户想看完整的图片时,则需要点击观看大图,即点击该缩略图,然后下载对应的完整图,也就是大图,然后在移动终端的屏幕上进行显示。而本发明提供的移动终端在接收到用户的查看网络图片的请求之后,会先去下载所述网络图片,也就是完整图片。然后生成对应的缩略图信息。这样,在后续的用户点击缩略图来观看大图的时候,用户在点开缩略图之后便能看到对应的大图,无需在点击缩略图之后再等待下载大图,使得浏览大量网络图片就像浏览本地图片一样方便。所述缩略图信息即为所述网络图片在网页上的图片,缩略图相比网络图片(即原图)较小,用于体现原图,但清晰度不高。此处不再详细赘述。
在步骤S200中,在可活动组件中生成与所述网络图片对应的位图文件对象。也就是说,在可活动组件中,将所述网络图片转化为相应的位图文件对象。具体来说,所述可活动组件即Activity组件,Activity是Android组件中最基本也是最为常见用的四大组件之一(Activity,Service服务,Content Provider内容提供者,Broadcast Receiver广播接收器)。所述位图文件对象即bitmap对象,所述bitmap对象,即位图文件(Bitmap),扩展名可以是bmp或者dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。例如,一幅1024×768分辨率的32位真彩图片,其所占存储字节数为:1024×768×32/8=3072KB。这样,通过检测所述位图文件对象占用的内存便可以得出网络图片对应占用的内存。
在步骤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对象,便可计算对应的网络图片在应用内存中占用的内存大小,从而可以在浏览该网络图片之前检测出是否会出现内存溢出的情况。
在所述步骤S400中,按照预定比例缩放所述网络图片,返回步骤S200。具体来说,当所述位图文件对象所占用的内存不小于剩余内存时,那么将所述位图文件对象对应的网络图片按照预定比例缩放,然后再返回步骤S200,在可活动组件中将缩放后的网络图片转换为对应的位图文件对象,缩放后的网络图片对应的位图文件对象所占用的内存会变小,再执行步骤S300再判断缩放后的网络图片对应的位图文件对象所占用的内存是否小于剩余内存,若是,则可以显示缩放后的网络图片;若否,也就是说缩放后的网络图片对应的位图文件对象还不小于剩余内存,那么继续按照预定比例缩放后的网络图片,即在上次的基础上继续按照预定比例缩放,直到多次缩放后的网络图片对应的位图文件对象所占用的内存小于剩余内存,然后显示该位图文件对象对应的网络图片,从而便可防止出现内存溢出的情况。
在步骤S500中,显示所述位图文件对象对应的网络图片,以供用户浏览。具体来说,若网络图片没有缩放,则该网络图片对应所占用的内存小于剩余内存,则显示所述网络图片;若网络图片有缩放,则显示缩放后的网络图片。也就是说,所述网络图片在移动终端上显示的是缩略图,用户点击缩略图之后,便可显示所述网络图片,若网络图片对应所占的内存小于剩余内存,则可显示网络图片的原图,用户便可以浏览;若网络图片对应所占的内存大于或等于剩余内存,则将所述网络图片按照预定比例不断缩放,直到缩放后的网络图片占用的内存小于剩余内存,再显示缩放后的网络图片,这样不仅防止了内存溢出,并且先下载所述网络图片,再生产缩略图,使得后续的浏览大量网络图片就像浏览本地图片一样方便,无需现有技术中的等待下载大图。
进一步地,在所述步骤S500之后,还包括:
S600、删除所述可活动组件,将所述网络图片所占用的内存清空。具体来说,为了进一步地防止内存溢出,在用户浏览完所述网络图片之后,若用户浏览下一个网络图片(譬如关闭网络图片,点击另一个缩略图去看对应的大图),则可销毁所述可活动组件,将浏览过的网络图片所占用的内存清空。在销毁activity时调用bitmap的recycle把内存回收掉。当Activity销毁时,若对其引用计数为0,该activity可被顺利回收,做到activity不被其它的地方引用,需用Context的地方用Application代替;关闭掉子线程,用IsAlive判断子线程是否存在,如果存在将其销毁掉;这样使得剩余内存更多,效果更好。
进一步地,所述步骤S100具体包括:S10、接收用户的查看网络图片的请求; 
S20、根据所述网络图片的图片信息,判断在缓存中是否存在所述网络图片,若为是,则执行步骤S200;若为否,则下载所述网络图片并生成对应的缩略图信息。也就是说,先判断请求查看的图片是否在终端的缓存的缩略图中,若是,直接从缓存中获取,再对其进行后续处理;若不是,开启下载服务进行下载生成缩略图存在缓存中,再进行处理生成图层,根据生成的图层显示图片。
具体来说,移动终端的应用的缓存中是存放有用户曾经浏览过的网络图片资源的,若用户要查看的网络图片在缓存中已经存在的话,那么则不需要去重新下载该网络图片。至于如何判断网络图片是否存在所述缓存中,则可通过网络图片的图片信息,譬如图片名称、图片URL地址等等便可进行判定。若缓存中已经存在该网络图片,则执行步骤S200;若不存在,则下载所述网络图片并生成对应的缩略图信息,也就是说下载该网络图片,再生成对应的缩略图以供用户点击观看网络图片。
进一步地,所述步骤S100还包括:
S30、将所述网络图片存入缓存中。具体来说,就是将下载的网络图片放入移动终端的缓存中,这样,以后用户再次浏览相同的网络图片时,就不需要重新下载了,节约了流量。
在实际应用时,所述下载所述网络图片生成对应的缩略图信息,具体包括:
S21、对所述网络图片的图片信息进行编码,生成相应的编码信息;
S22、判断是否存在下载所述网络图片的下载服务,若为否,则执行步骤S23;若为是,则执行步骤S24;
S23、开启下载服务并创建缓存路径;
S24、解码所述编码信息,下载所述网络图片;
S25、当所述网络图片下载完成后,生成对应的缩略图信息。
具体来说,先所述网络图片的图片信息进行编码,生成相应的编码信息,也就是对网络图片的图片名称、URL地址等信息进行编码,生成对应的编码信息。再判断下载服务是否存在,所述下载服务用于下载所述网络图片,也就是判断网络图片部分是否被下载了。若为是,则解码所述编码信息,然后下载所述网络图片。若为否,则开启下载服务下载所述网络图片,并在创建缓存路径,也就是创建本地路径来存放下载后的网络图片,以被后续的调用。在实际应用时,所述编码格式采用JSON数据交互格式,也就是说编码信息的格式为JSON数据格式。所述JSON格式,即Java Script Object Notation,是一种轻量级的数据交换格式。而解码采用GSON的JSON解析方法对所述编码信息进行解码,所述GSON相比JSON Object,好处在于具有高效、安全的反射;高效的解析速度;简化的开发流程,对比JSON Object每次都要设计解析的对象,GSON只需要设计值对象。这样,使得下载网络图片速度更快,且下载服务是一个从编码到解码的过程,使得用户不用等待下载,也就是说用户在移动终端上感觉不到下载这个耗时的过程,用户体验比较好。进一步地,当当所述网络图片下载完成后,生成对应的缩略图信息。生成缩略图是为了用户在移动终端上点击观看对应的大图(网络图片)。
在实际应用时,用户在浏览某一页网页上有多个网络图片时,即存在多个网络图片时,则下载完所有的网络图片。譬如浏览网络相册时,获取用户的图片查看请求,获取网络相册信息,包括相册标识号、相册名称、相册的描述、图片的URL,和图片数量等,对应进行编码生成编码信息,再下载网络图片,基于android系统的广播机制,下载完单张网络图片后发送广播,并生成对应的缩略图,直到所有的网络图片被下载完,发送广播停止服务。然后进入后续的步骤S200,这样,使得用户在观看具有多个网络图片的网页时(譬如网络相册),使用户感觉不到等待下载的过程,将下载过程隐藏,浏览大量网络图片就像浏览本地图片一样方便。
进一步地,当用户浏览网络图片时,根据对应的编码信息,将图片信息进行编码为JSON格式,然后进行解码得到JSON格式的数据并进行下载。若下载服务对所述网络图片已进行下载,但未下载完,则根据下载进度对下载的图片进行后续的处理生成图层,并根据生成的图层显示图片,直到下载服务对所述网络图片继续进行下载,并下载完,最后全部显示。这样,在网络图片从未下载完到下载完的时候,网络图片的显示一个从模糊到清晰的过程,也就是边下载边显示。
进一步地,所述步骤S400具体包括:S410、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高;若为否,则根据所述网络图片的宽和高及所述显示区域的宽和高来计算所述预定比例N;若为是,则设置所述预定比例N为2:1;
S420、按照预定比例缩放所述网络图片,返回步骤S200。
具体来说,所述预定比例可以是人为设定值,譬如2:1、3:1等,再转入步骤S420按照该预定比例来缩放所述网络图片,然后再返回步骤S200进行判定,即可防止内存溢出。为了使得网络图片在缩放后不会比例失衡且在移动终端的显示区域上显示较大,本发明进一步地,断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高;若为否,则根据所述网络图片的宽和高及所述显示区域的宽和高来计算所述预定比例N;若为是,则设置所述预定比例N为2:1。在实际应用时,譬如:可以根据网络图片的宽高与移动终端显示区域的宽高分别对应进行比较,即相除,取其中较大的值作为缩放比例,然后进行缩放,这样便可以使得缩放后的网络图片宽或高其中之一占满显示区域对应的宽或高。若缩放后的网络图片对应占的内存还大于剩余内存,则继续按照该缩放比例进行缩放,直到占用内存小于剩余内存。若网络图片的宽高就比显示区域的宽高小,那么则缩放比例为2:1,当然也可以为其它比例,这个可以根据需求进行设置。
优选地,所述步骤S410具体包括:S411、判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高,若是则设置所述预定比例为2:1,转向所述步骤S420;否则转向步骤S412;
S412、计算所述显示区域对应的显示图像的像素个数及所述网络图片的像素个数,并采用像素点比例公式来计算所述网络图片与所述显示图像的像素点个数比例,获得第一比例;
S413、获取所述显示图像的长及宽、所述网络图片的长及宽,采用长宽比例公式来计算所述网络图片与所述显示图像的比例,获得第二比例;
S414、比较所述第一及第二比例,基于比较结果来确定所述预定比例。
具体来说,在实际应用时,根据所显示图片的像素大小和屏幕显示区域的大小计算合理的缩放比例。当所述网络图片的宽和高不满足同时均对应小于移动终端的显示区域的宽和高时,预定比例计算如下:首先,计算所需显示图像的像素点个数M = a *b;再判断原始图像像素大小与所需显示图像像素大小的比例size1=Math.sqrt(c * d / M),并取最接近size1的正整数,即第一比例;再计算原始图像宽高与所需显示图像区域的宽高的比例,并取最接近两者中较大者的正整数,即Size2 = Max(Math.floor(c / a), Math.floor(d / b)),即第二比例;然后比较所述第一及第二比例,基于比较结果来确定所述预定比例,譬如可以取size1和size2两者中较大的size = max(size1,size2),作为所述预定比例来进行缩放。
进一步地,所述步骤S414具体为:
S4141、分析所述第一及第二比例,选取较大者,标为K(即上述的size);
S4142、若所述K小于预设值,则确定所述预定比例N为1,若所述K大于或等于预设值,则确定所述预定比例N为:Math.ceil((K+7)/8)*8 ,其中所述K及N为大于零的自然数。
具体来说,如何计算缩放大小,可以选择上述的size = max(size1,size2),即第一比例和第二比例中的较大者,并将其与预设值比较,譬如预设值为8,若size小于8,则取size =1,即所述预定比例N为1;若size >8,则所述预定比例N为Math.ceil((size+7)/8)*8。其中,c表示所述图片的宽度,d表示所述图片的高度,a表示可显示区域的宽度,b表示可显示区域的高度,floor表示获取小于等于变量的最大整数。
进一步地,所述步骤S420具体为:
S421、以所述预定比例N为长度,对每一行及每一列的像素点进行分段,得到若干段像素组合;
S422、对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值。
具体来说,至于如何按照预定比例缩放所述网络图片,为了使得缩放后的图片颜色不失真,根据上面所得到的缩放比例,以所述预定比例N为长度,对所述网络图片的每一行及每一列的像素点进行分段,得到若干段像素组合;然后对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值,从而逐行计算相邻的多个像素点所表示颜色值的平均值,以及逐列相邻多个像素点所表示颜色值的平均值,形成目标图片位图格式数据。即对网络图片每行及每列的像素点以N为长度来分段,取每一段的像素值平均值,即利用像素点来进行压缩,将N个像素点变成一个像素点。例如:若缩放比例是N,则对i行中的像素点,取相邻的(i,j+1)、(i,j+2)、(i,j+3)…(i,j+N)像素点,则上述相邻N个像素点的值的平均值为[h(i,j+1)+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+1)+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,此时的像素平均值为该若干个像素点对应的像素值之和除以像素点个数即可。
进一步地,所述步骤S400还包括:
S430、接收用户的操作指令,回收缓存中已浏览过的位图文件对象。具体来说,当剩余内存不够时,还可以提示用户是否回收缓存中的图片,根据用户的确认操作来释放内存。在实际应用时,可以手动或自动回收缓存中的图片,利用bitmap.recycle(),bitmap = null 来对缓存中图片进行回收。在缓存中,存放的图片所占的内存是一定,这是在应用中设定的阈值,应用所占内存的超过设定的阈值时,则根据时间顺序清除看过的图片,清除较早的图片资源,留下最近的图片资源。
本发明提供的移动终端浏览网络图片的方法,防止了移动终端在浏览大量网络图片时出现内存溢出的问题,并且将所述网络图片先下载再生成缩略图,将下载的过程隐藏,用户在点开缩略图之后便能看到对应的大图,无需再等待下载,使得浏览大量网络图片就像浏览本地图片一样方便,其通过软件实现,实现简单,成本较低,给用户带来了大大的方便。
基于上述移动终端浏览网络图片的方法,本发明还提供了一种移动终端浏览网络图片的装置,如图2所示,所述装置包括:
网络图片下载模块10,用于接收用户的查看网络图片的请求,下载所述网络图片;具体如步骤S100所述;
位图文件对象生成模块20,用于在可活动组件中生成与所述网络图片对应的位图文件对象;具体如步骤S200所述;
内存判断模块30,用于判断所述位图文件对象所占用的内存是否小于剩余内存;具体如步骤S300所述;
缩放模块40,用于按照预定比例缩放所述网络图片;具体如步骤S400所述;
显示模块50,用于显示所述位图文件对象对应的网络图片;具体如步骤S500所述。
进一步地,所述移动终端浏览网络图片的装置,还包括:
回收模块,用于销毁所述可活动组件,将所述网络图片所占用的内存清空。
进一步地,所述网络图片下载模块10包括:
请求接收单元,用于接收用户的查看网络图片的请求;
网络图片判断单元,用于根据所述网络图片的图片信息,判断在缓存中是否存在所述网络图片;
网络图片下载单元,用于下载所述网络图片;
缩略图生成单元,用于根据所述网络图片生成对应的缩略图信息。
进一步地,所述网络图片下载单元包括:
编码子单元,用于对所述网络图片的图片信息进行编码,生成相应的编码信息;
下载判断子单元,用于判断是否存在下载所述网络图片的下载服务;
下载开启子单元,用于开启下载服务并创建缓存路径;
解码子单元,用于解码所述编码信息;
网络图片下载子单元,用于下载所述网络图片。
进一步地,所述缩放模块40包括:
大小判断单元,用于判断所述网络图片的大小是否小于移动终端的显示屏幕大小;
预定比例计算单元,用于当所述网络图片的宽和高均对应小于移动终端的显示区域的宽和高,设置所述预定比例N为2:1;否则根据所述网络图片的宽和高及所述显示区域的宽和高来计算所述预定比例N;
缩放单元,用于按照预定比例缩放所述网络图片。
进一步地,所述预定比例计算单元包括:
第一预定比例计算子单元,用于判断所述网络图片的宽和高是否均对应小于移动终端的显示区域的宽和高,若是则设置所述预定比例为2:1;
第二预定比例计算子单元,用于计算所述显示区域对应的显示图像的像素个数及所述网络图片的像素个数,并采用像素点比例公式来计算所述网络图片与所述显示图像的像素点个数比例,获得第一比例;获取所述显示图像的长及宽、所述网络图片的长及宽,采用长宽比例公式来计算所述网络图片与所述显示图像的比例,获得第二比例;比较所述第一及第二比例,基于比较结果来确定所述预定比例。
进一步地,所述第二预定比例计算子单元,还用于分析所述第一及第二比例,选取较大者,标为K;若所述K小于预设值,则确定所述预定比例N为1,若所述K大于或等于预设值,则确定所述预定比例N为:Math.ceil((K+7)/8)*8 ,其中所述K及N为大于零的自然数。
进一步地,所述缩放单元包括:
分段子单元,用于以所述预定比例N为长度,对每一行及每一列的像素点进行分段,得到若干段像素组合;
像素平均子单元,用于对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值。
本发明所述的移动终端为手机或平板电脑等移动终端。
综上所述,本发明提供的一种移动终端浏览网络图片的方法和装置,通过接收用户的查看网络图片的请求,下载所述网络图片;在可活动组件中生成与所述网络图片对应的位图文件对象;判断所述位图文件对象所占用的内存是否小于剩余内存,若为是,则显示所述位图文件对象对应的网络图片;若为否,则按照预定比例缩放所述网络图片,然后在可活动组件中生成与缩放后的网络图片对应的位图文件对象,再判断缩放后的网络图片对应的位图文件对象所占用的内存是否小于剩余内存,若为是,则显示缩放后的网络图片,若为否,继续按照预定比例继续缩放网络图片,直到缩放后的位图文件对象所占用的内存小于剩余内存为止;从而防止了移动终端在浏览大量网络图片时出现内存溢出的问题,并且将所述网络图片先下载再生成缩略图,将下载的过程隐藏,用户无需再等待下载,使得浏览大量网络图片就像浏览本地图片一样方便,给用户带来了大大的方便,其通过软件实现,实现简单,成本较低。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (10)

1. 一种移动终端浏览网络图片的方法,其特征在于,包括以下步骤:
A、接收用户的查看网络图片的请求,下载所述网络图片;
B、在可活动组件中生成与所述网络图片对应的位图文件对象;
C、判断所述位图文件对象所占用的内存是否小于剩余内存,若为否,则执行步骤D;若为是,则执行步骤E;
D、按照预定比例缩放所述网络图片,返回步骤B;
E、显示所述位图文件对象对应的网络图片。
2.根据权利要求1所述的移动终端浏览网络图片的方法,其特征在于,在所述步骤E之后还包括:
F、删除所述可活动组件,将所述网络图片所占用的内存清空。
3.根据权利要求1所述的移动终端浏览网络图片的方法,其特征在于,所述步骤A具体包括:
A1、接收用户的查看网络图片的请求; 
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所述的移动终端浏览网络图片的方法,其特征在于,所述步骤D1具体包括:
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 ,其中所述K及N为大于零的自然数。
9.根据权利要求8所述的移动终端浏览网络图片的方法,其特征在于, 所述步骤D2具体为:
D21、以所述预定比例N为长度,对每一行及每一列的像素点进行分段,得到若干段像素组合;
D22、对每一段像素组合的像素点的像素值取平均值,该像素平均值即为缩放后的图像对应的像素值。
10.一种移动终端浏览网络图片的装置,其特征在于,包括:
网络图片下载模块,用于接收用户的查看网络图片的请求,下载所述网络图片;
位图文件对象生成模块,用于在可活动组件中生成与所述网络图片对应的位图文件对象;
内存判断模块,用于判断所述位图文件对象所占用的内存是否小于剩余内存;
缩放模块,用于按照预定比例缩放所述网络图片;
显示模块,用于显示所述位图文件对象对应的网络图片。
CN201310742184.4A 2013-12-30 2013-12-30 一种移动终端浏览网络图片的方法和装置 Expired - Fee Related CN103677942B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310742184.4A CN103677942B (zh) 2013-12-30 2013-12-30 一种移动终端浏览网络图片的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310742184.4A CN103677942B (zh) 2013-12-30 2013-12-30 一种移动终端浏览网络图片的方法和装置

Publications (2)

Publication Number Publication Date
CN103677942A true CN103677942A (zh) 2014-03-26
CN103677942B CN103677942B (zh) 2017-09-05

Family

ID=50315599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310742184.4A Expired - Fee Related CN103677942B (zh) 2013-12-30 2013-12-30 一种移动终端浏览网络图片的方法和装置

Country Status (1)

Country Link
CN (1) CN103677942B (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104053016A (zh) * 2014-06-24 2014-09-17 深圳市江波龙电子有限公司 一种图像预览方法及装置
CN104199732A (zh) * 2014-08-28 2014-12-10 上海新炬网络技术有限公司 一种pga内存溢出智能处理方法
CN105183560A (zh) * 2015-09-01 2015-12-23 北京金山安全软件有限公司 一种调整图片的方法、图片调整装置及系统
CN105426475A (zh) * 2015-11-18 2016-03-23 Tcl集团股份有限公司 媒体文件同步方法及装置
CN105843751A (zh) * 2016-04-01 2016-08-10 乐视控股(北京)有限公司 图像显示方法、装置和移动终端
CN105893149A (zh) * 2016-03-30 2016-08-24 乐视控股(北京)有限公司 一种内存优化方法和装置
CN105897470A (zh) * 2016-04-01 2016-08-24 乐视控股(北京)有限公司 缩略图获取和发送方法、装置、移动终端和服务器
CN105912251A (zh) * 2016-04-01 2016-08-31 乐视控股(北京)有限公司 缓存管理方法、装置和移动终端
CN105912592A (zh) * 2016-04-01 2016-08-31 乐视控股(北京)有限公司 缓存管理方法、装置和移动终端
WO2016183795A1 (en) * 2015-05-19 2016-11-24 Guangzhou Ucweb Computer Technology Co., Ltd. Method, apparatus for loading a resource in a web page on a device
CN106294339A (zh) * 2015-05-12 2017-01-04 阿里巴巴集团控股有限公司 应用中加载图片的方法及装置
CN106327453A (zh) * 2015-06-30 2017-01-11 北京金山安全软件有限公司 一种拼合图片资源的方法及图片资源拼合装置
CN106354491A (zh) * 2016-08-22 2017-01-25 天脉聚源(北京)教育科技有限公司 一种图片处理方法及装置
CN106598614A (zh) * 2016-12-21 2017-04-26 北京奇虎科技有限公司 一种回收图片资源的方法及装置
CN106681745A (zh) * 2015-11-09 2017-05-17 五八同城信息技术有限公司 图片加载方法及终端
CN106802773A (zh) * 2017-01-13 2017-06-06 刘超 一种存储空间的管理方法及移动终端
CN107179947A (zh) * 2017-04-26 2017-09-19 武汉斗鱼网络科技有限公司 一种用于移动终端的网络图片下载方法及系统
CN107577711A (zh) * 2017-08-01 2018-01-12 北京奇艺世纪科技有限公司 一种图片缓存的方法和装置
WO2018196582A1 (zh) * 2017-04-28 2018-11-01 武汉斗鱼网络科技有限公司 一种加载图片资源的方法及装置
WO2019128357A1 (zh) * 2017-12-29 2019-07-04 北京京东尚科信息技术有限公司 图片请求方法、响应图片请求的方法及客户端
CN109995863A (zh) * 2019-03-29 2019-07-09 北京金山安全软件有限公司 一种动态资源下载方法、装置、电子设备及存储介质
CN110929197A (zh) * 2019-11-27 2020-03-27 杭州安恒信息技术股份有限公司 一种网页图片的预览加载方法和装置
CN115150390A (zh) * 2022-06-27 2022-10-04 山东信通电子股份有限公司 一种图像显示方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144221A1 (en) * 2003-12-08 2005-06-30 Samsung Electronics Co., Ltd. Picture downloading apparatus and method
CN102123259A (zh) * 2010-12-28 2011-07-13 四川长虹电器股份有限公司 一种在电视机上显示超大分辨率图片的方法
CN102831111A (zh) * 2011-06-14 2012-12-19 腾讯科技(深圳)有限公司 一种图片显示方法和装置
CN103399802A (zh) * 2013-07-30 2013-11-20 Tcl集团股份有限公司 一种图片预加载方法以及装置
CN103425699A (zh) * 2012-05-24 2013-12-04 腾讯科技(深圳)有限公司 获取网页的方法、设备和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144221A1 (en) * 2003-12-08 2005-06-30 Samsung Electronics Co., Ltd. Picture downloading apparatus and method
CN102123259A (zh) * 2010-12-28 2011-07-13 四川长虹电器股份有限公司 一种在电视机上显示超大分辨率图片的方法
CN102831111A (zh) * 2011-06-14 2012-12-19 腾讯科技(深圳)有限公司 一种图片显示方法和装置
CN103425699A (zh) * 2012-05-24 2013-12-04 腾讯科技(深圳)有限公司 获取网页的方法、设备和系统
CN103399802A (zh) * 2013-07-30 2013-11-20 Tcl集团股份有限公司 一种图片预加载方法以及装置

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104053016A (zh) * 2014-06-24 2014-09-17 深圳市江波龙电子有限公司 一种图像预览方法及装置
CN104199732A (zh) * 2014-08-28 2014-12-10 上海新炬网络技术有限公司 一种pga内存溢出智能处理方法
CN106294339A (zh) * 2015-05-12 2017-01-04 阿里巴巴集团控股有限公司 应用中加载图片的方法及装置
US10754767B2 (en) 2015-05-19 2020-08-25 Guangzhou Ucweb Computer Technology Co., Ltd. Method and apparatus for loading a resource in a web page on a device
WO2016183795A1 (en) * 2015-05-19 2016-11-24 Guangzhou Ucweb Computer Technology Co., Ltd. Method, apparatus for loading a resource in a web page on a device
CN106327453A (zh) * 2015-06-30 2017-01-11 北京金山安全软件有限公司 一种拼合图片资源的方法及图片资源拼合装置
CN106327453B (zh) * 2015-06-30 2020-02-07 珠海豹趣科技有限公司 一种拼合图片资源的方法及图片资源拼合装置
CN105183560A (zh) * 2015-09-01 2015-12-23 北京金山安全软件有限公司 一种调整图片的方法、图片调整装置及系统
CN105183560B (zh) * 2015-09-01 2019-03-26 北京金山安全软件有限公司 一种调整图片的方法、图片调整装置及系统
CN106681745A (zh) * 2015-11-09 2017-05-17 五八同城信息技术有限公司 图片加载方法及终端
CN105426475A (zh) * 2015-11-18 2016-03-23 Tcl集团股份有限公司 媒体文件同步方法及装置
CN105893149A (zh) * 2016-03-30 2016-08-24 乐视控股(北京)有限公司 一种内存优化方法和装置
CN105912592A (zh) * 2016-04-01 2016-08-31 乐视控股(北京)有限公司 缓存管理方法、装置和移动终端
CN105912251A (zh) * 2016-04-01 2016-08-31 乐视控股(北京)有限公司 缓存管理方法、装置和移动终端
WO2017166758A1 (zh) * 2016-04-01 2017-10-05 乐视控股(北京)有限公司 缓存管理方法、装置、移动终端和电子设备
WO2017166759A1 (zh) * 2016-04-01 2017-10-05 乐视控股(北京)有限公司 缓存管理方法、装置、移动终端和电子设备
CN105897470A (zh) * 2016-04-01 2016-08-24 乐视控股(北京)有限公司 缩略图获取和发送方法、装置、移动终端和服务器
CN105843751A (zh) * 2016-04-01 2016-08-10 乐视控股(北京)有限公司 图像显示方法、装置和移动终端
CN106354491A (zh) * 2016-08-22 2017-01-25 天脉聚源(北京)教育科技有限公司 一种图片处理方法及装置
CN106354491B (zh) * 2016-08-22 2019-12-31 天脉聚源(北京)教育科技有限公司 一种图片处理方法及装置
CN106598614A (zh) * 2016-12-21 2017-04-26 北京奇虎科技有限公司 一种回收图片资源的方法及装置
CN106802773A (zh) * 2017-01-13 2017-06-06 刘超 一种存储空间的管理方法及移动终端
CN107179947A (zh) * 2017-04-26 2017-09-19 武汉斗鱼网络科技有限公司 一种用于移动终端的网络图片下载方法及系统
WO2018196409A1 (zh) * 2017-04-26 2018-11-01 武汉斗鱼网络科技有限公司 一种用于移动终端的网络图片下载方法及系统
WO2018196582A1 (zh) * 2017-04-28 2018-11-01 武汉斗鱼网络科技有限公司 一种加载图片资源的方法及装置
CN107577711A (zh) * 2017-08-01 2018-01-12 北京奇艺世纪科技有限公司 一种图片缓存的方法和装置
WO2019128357A1 (zh) * 2017-12-29 2019-07-04 北京京东尚科信息技术有限公司 图片请求方法、响应图片请求的方法及客户端
CN109992406A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 图片请求方法、响应图片请求的方法及客户端
CN109992406B (zh) * 2017-12-29 2022-06-07 北京京东尚科信息技术有限公司 图片请求方法、响应图片请求的方法及客户端
CN109995863A (zh) * 2019-03-29 2019-07-09 北京金山安全软件有限公司 一种动态资源下载方法、装置、电子设备及存储介质
CN110929197A (zh) * 2019-11-27 2020-03-27 杭州安恒信息技术股份有限公司 一种网页图片的预览加载方法和装置
CN115150390A (zh) * 2022-06-27 2022-10-04 山东信通电子股份有限公司 一种图像显示方法、装置、设备及介质
CN115150390B (zh) * 2022-06-27 2024-04-09 山东信通电子股份有限公司 一种图像显示方法、装置、设备及介质

Also Published As

Publication number Publication date
CN103677942B (zh) 2017-09-05

Similar Documents

Publication Publication Date Title
CN103677942A (zh) 一种移动终端浏览网络图片的方法和装置
WO2020038163A1 (zh) 图标的显示方法、装置、终端及存储介质
US10423527B2 (en) Memory management and image display for mobile devices
CN106453572B (zh) 基于云服务器同步图像的方法及系统
EP1559264A1 (en) Method and system for conducting image processing from a mobile client device
CN107256259B (zh) 页面显示方法、装置、电子设备以及存储介质
JP2010205252A (ja) 情報表示装置
CN106202086B (zh) 一种图片处理、获取方法、装置及系统
CN103544207A (zh) 一种图片加载显示的方法与系统
CN112770059B (zh) 拍照方法、装置及电子设备
CN106843794B (zh) 一种基于安卓的分屏显示方法和系统
CN110059273A (zh) 一种在移动终端上显示富媒体的方法及移动终端
CN110874172A (zh) 放大app界面的方法、装置、介质及电子设备
CN110647369B (zh) 页面动态显示的方法、装置、移动终端及存储介质
CN109302639B (zh) 一种弹幕消息的分发方法、装置、终端和存储介质
US20130031467A1 (en) So-called hd-web method for high-definition and all-screen compatibile internet contents
CN106599323A (zh) 在分布式文件系统中实现分布式管道的方法和装置
CN110456999B (zh) 节目创建方法、装置、电子设备及计算机可读存储介质
CN109710783B (zh) 一种图片加载方法、装置、存储介质及服务器
WO2002087216A2 (en) Method and system for presenting a video stream of a video streaming device
CN113190196B (zh) 多设备联动实现方法、装置、介质及电子设备
CN115220847A (zh) 移动应用主题的切换方法、移动应用系统、设备及介质
CN113961280B (zh) 视图的展示方法、装置、电子设备及计算机可读存储介质
CN114780888A (zh) 网页图片生成方法、系统、电子设备及存储介质
CN115933919A (zh) 交互方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170905