【发布时间】:2015-10-10 11:31:14
【问题描述】:
在我的 GridView 适配器中,我试图有效地加载图像,所以我一直在使用 Picasso 2.5.2(它允许通过资源 id 加载)。
Picasso.with(mContext)
.load(resId)
.noFade()
.resize(newSize, newSize)
.into(imageView);
但是,当我通过此消息传入 resourceId 时,它总是给出一个空白图像。
SkImageDecoder::Factory returned null
在查看 Picasso Github 页面之前,我想我会尝试使用 Framework 调用:
imageView.setImageBitmap(BitmapFactory.decodeResource(App.get().getResources(), resId));
App.get() 返回我的应用程序单例,因此 Context 是合法的。我还尝试在 getView 参数中从父级传递上下文并传递一个 Activity 上下文。记录 resId 向我显示了可绘制对象的正确 ID,但它仍然无法正常工作,但是这样可以:
imageView.setImageResource(resId);
...但这并不好,因为我没有机会通过加载较小尺寸的图像来保留内存。
我在 Genymotion 和真实设备上都进行了尝试,结果相同。
所以在 Logcat 中上下文和资源 id 都很好,这里还有什么问题?
【问题讨论】:
标签: android bitmap drawable picasso skia