图像显示方法及装置制造方法及图纸

技术编号:14699105 阅读:70 留言:0更新日期:2017-02-24 10:36
本公开是关于图像显示方法及装置,所述方法包括:从系统按照固定大小分配位图,其中,位图的大小是系统中的各种图像的大小的最小公倍数的倍数;将位图按照最小公倍数划分为大小相等的簇,其中,同一个簇容纳多个大小相同的图像,每一个簇中用于显示图像的部分被称作切片;根据一幅需要显示的图像的大小确定用于显示需要显示的图像的相应切片;利用被创建用于图像解码的位图来对需要显示的图像进行解码;将解码后的图像画到相应切片;显示被画好的相应切片中的有效区域,其中,有效区域包含需要显示的图像,能够大幅度降低从Java堆分配大对象的频率,从而降低了垃圾收集的频率,在可以显示更多图像的同时,改善了用户界面的响应性。

【技术实现步骤摘要】

本公开涉及图像处理
,尤其涉及图像显示方法及装置
技术介绍
在操作系统(例如,Android系统)上的Java程序中,对象会占用Java堆。位图(Bitmap)一般是大对象,当有大量图像需要频繁切换显示时,解码图像会频繁从Java堆内存分配,这会频繁引起Java堆的垃圾收集操作,降低用户界面的响应性。对于这个问题的一个常见解决办法是:在用户界面上只显示很少部分图像,降低内存的占用量,减少垃圾事件的发生。进一步的优化办法是在需要显示新的图像时,重用已经分配的位图进行解码和显示,Android支持这种机制。但这个方法带来了新的问题:图像频繁重新加载,用户体验不好。
技术实现思路
为克服相关技术中存在的问题,本公开实施例提供图像显示方法及装置。根据本公开实施例的第一方面,提供一种图像显示方法,包括:从系统按照固定大小分配位图,其中,所述位图的大小是所述系统中的各种图像的大小的最小公倍数的倍数;将所述位图按照所述最小公倍数划分为大小相等的簇,其中,同一个簇容纳多个大小相同的图像,每一个簇中用于显示图像的部分被称作切片;根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片;利用被创建用于图像解码的位图来对所述需要显示的图像进行解码;将解码后的图像画到所述相应切片;显示被画好的所述相应切片中的有效区域,其中,所述有效区域包含所述需要显示的图像。可选地,所述根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片,包括:根据一幅需要显示的图像的大小计算出用于显示所述需要显示的图像的所需切片;查找所述所需切片所属的簇。可选地,所述根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片,还包括:在没有查找到所述所需切片所属的簇的情况下,分配一个新簇,其中,所述新簇具有用于显示所述需要显示的图像的相应切片。可选地,所述根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片,还包括:在无法分配一个新簇的情况下,分配一个新位图,其中,所述新位图具有所述相应切片所属的簇。可选地,所述根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片,还包括:在所述位图的数目达到上限的情况下,淘汰一个当前没有显示图像的簇,并分配一个新簇,其中,所述新簇具有用于显示所述需要显示的图像的相应切片。可选地,所述显示被画好的所述相应切片中的有效区域,包括:当所述系统是Android系统时,将被画好的所述相应切片中的有效区域画到所述Android系统的画布上。根据本公开实施例的第二方面,提供一种图像显示优化装置,包括:分配模块,被配置为从系统按照固定大小分配位图,其中,所述位图的大小是所述系统中的各种图像的大小的最小公倍数的倍数;划分模块,被配置为将所述位图按照所述最小公倍数划分为大小相等的簇,其中,同一个簇容纳多个大小相同的图像,每一个簇中用于显示图像的部分被称作切片;确定模块,被配置为根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片;解码模块,被配置为利用被创建用于图像解码的位图来对所述需要显示的图像进行解码;绘画模块,被配置为将解码后的图像画到所述相应切片;显示模块,被配置为显示被画好的所述相应切片中的有效区域,其中,所述有效区域包含所述需要显示的图像。可选地,所述确定模块包括:计算子模块,被配置为根据一幅需要显示的图像的大小计算出用于显示所述需要显示的图像的所需切片;查找子模块,被配置为查找所述所需切片所属的簇。可选地,所述确定模块还被配置为:在没有查找到所述所需切片所属的簇的情况下,分配一个新簇,其中,所述新簇具有用于显示所述需要显示的图像的相应切片。可选地,所述确定模块还被配置为:在无法分配一个新簇的情况下,分配一个新位图,其中,所述新位图具有所述相应切片所属的簇。可选地,所述确定模块还被配置为:在所述位图的数目达到上限的情况下,淘汰一个当前没有显示图像的簇,并分配一个新簇,其中,所述新簇具有用于显示所述需要显示的图像的相应切片。可选地,所述显示模块被配置为:当所述系统是Android系统时,将被画好的所述相应切片中的有效区域画到所述Android系统的画布上。根据本公开实施例的第三方面,提供一种图像显示优化装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:从系统按照固定大小分配位图,其中,所述位图的大小是所述系统中的各种图像的大小的最小公倍数的倍数;将所述位图按照所述最小公倍数划分为大小相等的簇,其中,同一个簇容纳多个大小相同的图像,每一个簇中用于显示图像的部分被称作切片;根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片;利用被创建用于图像解码的位图来对所述需要显示的图像进行解码;将解码后的图像画到所述相应切片;显示被画好的所述相应切片中的有效区域,其中,所述有效区域包含所述需要显示的图像。本公开的实施例提供的技术方案可以包括以下有益效果:本公开实施例提供了图像显示方法及装置,通过从系统按照固定大小分配位图,其中,位图的大小是系统中的各种图像的大小的最小公倍数的倍数;将位图按照最小公倍数划分为大小相等的簇,其中,同一个簇容纳多个大小相同的图像,每一个簇中用于显示图像的部分被称作切片;根据一幅需要显示的图像的大小确定用于显示需要显示的图像的相应切片;利用被创建用于图像解码的位图来对需要显示的图像进行解码;将解码后的图像画到相应切片;显示被画好的相应切片中的有效区域,其中,有效区域包含需要显示的图像,能够大幅度降低从Java堆分配大对象的频率,从而降低了垃圾收集的频率,在可以显示更多图像的同时,改善了用户界面的响应性。而且,在保证用户界面的响应性的前提下,可以在用户界面显示尽可能多的图像,避免浏览过程中图像的频繁加载,提高了效率,改善了用户体验。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是根据本公开一示例性实施例示出的图像显示方法的流程图;图2是根据本公开另一示例性实施例示出的图像显示方法的一部分的流程图;图3是根据本公开一示例性实施例示出的一种图像显示优化装置的框图;图4是根据本公开另一示例性实施例示出的一种图像显示优化装置的一部分的框图;图5是根据本公开一示例性实施例示出的一种图像显示优化装置的框图;图6是根据本公开另一示例性实施例示出的一种图像显示优化装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。本公开是基于这样的考虑:在绝大多数应用中,所显示的图像的大小都是固定的几种。在此情况下,在允许一定程度的内存浪费时,这些图像的大小的最小公倍大小不是特别大,因此可以进行本公开中的图像显示优化。本公开实施例提供了图像显示优化技术,通过从系统按照固定大小分配位图,本文档来自技高网...
图像显示方法及装置

【技术保护点】
一种图像显示方法,其特征在于,包括:从系统按照固定大小分配位图,其中,所述位图的大小是所述系统中的各种图像的大小的最小公倍数的倍数;将所述位图按照所述最小公倍数划分为大小相等的簇,其中,同一个簇容纳多个大小相同的图像,每一个簇中用于显示图像的部分被称作切片;根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片;利用被创建用于图像解码的位图来对所述需要显示的图像进行解码;将解码后的图像画到所述相应切片;显示被画好的所述相应切片中的有效区域,其中,所述有效区域包含所述需要显示的图像。

【技术特征摘要】
1.一种图像显示方法,其特征在于,包括:从系统按照固定大小分配位图,其中,所述位图的大小是所述系统中的各种图像的大小的最小公倍数的倍数;将所述位图按照所述最小公倍数划分为大小相等的簇,其中,同一个簇容纳多个大小相同的图像,每一个簇中用于显示图像的部分被称作切片;根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片;利用被创建用于图像解码的位图来对所述需要显示的图像进行解码;将解码后的图像画到所述相应切片;显示被画好的所述相应切片中的有效区域,其中,所述有效区域包含所述需要显示的图像。2.根据权利要求1所述的方法,其特征在于,所述根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片,包括:根据一幅需要显示的图像的大小计算出用于显示所述需要显示的图像的所需切片;查找所述所需切片所属的簇。3.根据权利要求2所述的方法,其特征在于,所述根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片,还包括:在没有查找到所述所需切片所属的簇的情况下,分配一个新簇,其中,所述新簇具有用于显示所述需要显示的图像的相应切片。4.根据权利要求3所述的方法,其特征在于,所述根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片,还包括:在无法分配一个新簇的情况下,分配一个新位图,其中,所述新位图具有所述相应切片所属的簇。5.根据权利要求4所述的方法,其特征在于,所述根据一幅需要显示的图像的大小确定用于显示所述需要显示的图像的相应切片,还包括:在所述位图的数目达到上限的情况下,淘汰一个当前没有显示图像的簇,并分配一个新簇,其中,所述新簇具有用于显示所述需要显示的图像的相应切片。6.根据权利要求1所述的方法,其特征在于,所述显示被画好的所述相应切片中的有效区域,包括:当所述系统是Android系统时,将被画好的所述相应切片中的有效区域画到所述Android系统的画布上。7.一种图像显示优化装置,其特征在于,包括:分配模块,被配置为从系统按照固定大小分配位图,其中,所述位图的大小是所述系统中的各种图像的大小的最小公倍数的倍数;划分模块,被配置为将所述位图按照所述最小公倍数划分为大小相等的簇,其中,同一个簇...

【专利技术属性】
技术研发人员:杨振宇李明浩甘晓霖
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1