我试图使用毕加索从URL获取三个位图图像
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tab2); Drawable d1 = new BitmapDrawable(Picasso.with(Tab2.this).load(zestimateImg1).get()); }
我正在使用此代码致命异常.我怀疑它与AsyncTask中应该这样做的事实有关,但是我无法让它工作.如果使用它是可以避免的,我想这样做,而不使用AsyncTask.
如何让代码运行而不会崩溃?
解决方法
您不能在主线程中进行同步请求.如果您不想使用AsyncThread,那么只需将Picasso与Target配合使用即可.
Picasso.with(Tab2.this).load(zestimateImg1).into(new Target(...);
我建议您保存对您的目标的引用:
Target mTarget =new Target (...);
这是因为毕加索对它们使用了弱引用,并且在进程完成之前可能会收集垃圾.