Android App 性能优化之图片优化

接下来说明一下关于其他内存问题。图片问题,作为一个优秀的Android开发者,在图片的类型选择,图片显示前的处理都是要好好考虑的,因为不同类型图片在Android中的显示代价是不同的,使用不同显示方式代价也是不同的,首先看一下图片类型png与jpg两种类型显示代价有不同,原因在于png占的内存较多,但解码叫简单,若png图片过多,会容易垃圾回收,甚至内存溢出,而jpg的内存小,但解码复杂,会花更多时间解码,所以要根据具体情况来定,如果当前是由于内存问题导致垃圾回收频繁执行导致卡慢顿,这样图片优化就减少png,如果是非内存问题导致的,就可以使用png。

谷歌官方说法如下:

Smaller PNG Files(较少的png文件)

尽量减少PNG图片的大小是Android里面很重要的一条规范。相比起JPEGPNG能够提供更加清晰无损的图片,但是PNG格式的图片会更大,占用更多的磁盘空间。到底是使用PNG还是JPEG,需要设计师仔细衡量,对于那些使用JPEG就可以达到视觉效果的,可以考虑采用JPEG即可。

谷歌官方这样说应该是由于Android上导致卡慢顿的大多数原因是和内存有关吧。

关于在图片显示前的操作:

Pre-scaling Bitmaps(预放缩图片)

bitmap做缩放,这也是Android里面最遇到的问题。对bitmap做缩放的意义很明显,提示显示性能,避免分配不必要的内存。Android提供了现成的bitmap缩放的API,叫做createScaledBitmap(),使用这个方法可以获取到一张经过缩放的图片。

 

上面的方法能够快速的得到一张经过缩放的图片,可是这个方法能够执行的前提是,原图片需要事先加载到内存中,如果原图片过大,很可能导致OOM。下面介绍其他几种缩放图片的方式。

inSampleSize能够等比的缩放显示图片,同时还避免了需要先把原图加载进内存的缺点。我们会使用类似像下面一样的方法来缩放bitmap

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值