网络加载图片类型变成bitmap

网络加载图片有很多框架,使用简单,避免开发者走弯路。这里我使用的是picasso框架,这里简单介绍下:

picassoSquare公司开源的一个图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。

因为我项目中需要把网络图片变成bitmap,所有我这里就说一下我使用picasso时,遇到的一些问题,与最后怎么解决的方法。

picasso这个框架有提供2个方法,可以时网络图片变成bitmap形式。

一:

Bitmap bitmap=Picasso.with(GalleryActivity.this).load(data.get(i)).get();
这个方法是可以使用的,它的源码我也去查看过,返回的是Bitmap类型。但是你使用它会报错,我在网上百度,google寻求了一些帮助,但是还是没有知道它到底为什么出问题。因为时间有点紧,我没有去继续深究,就马上找到了第二种方法。

二:


这个方法只适用于小于1M的网络图片,大于1M的图片就无法显示。最开始我以为是picasso缓冲出现问题,不能超过1M,所有我在 picasso后面添加了 

.tag(context).memoryPolicy(MemoryPolicy.NO_STORE,MemoryPolicy.NO_CACHE).fit().config(Bitmap.Config.RGB_565)
这些代码的意义,你们可以去百度下picasso框架了解下,这里就不做详细说明,这些代码大概的意思是,不缓冲在手机内,不透明图片可以加快显示之类的,其实说了这么多,这些其实是picasso的图片优化处理。

这些代码写上去,我重新运行app,错误依然存在,无法去解决。只能把图片更改小掉才能正在使用,就是把大小缩小到1M以内,它的bitmap才能正在显示图片(这是一些网友的解释,我没有去验证,通过一些资料查询上来看,还是蛮可靠的)。

三:


这个方法,我亲自测试是可以使用的。

它是直接把网络图片通过inputstream读取出来,再用bitmap形式显示,访问比较快捷.

由于代码简单,我也不太去细说了,看代码就ok,这个也是我找了蛮久才发现的方法。虽然不是用picasso框架来实现,但是我们不能总是依赖框架钻牛角尖,picasso框架很强大,但是也有它弱点的存在,不可能什么都完美的解决我们的要求。我们要用其长度就ok了。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值