gpt4 book ai didi

java - 使用 Picasso 加载图像

转载 作者:行者123 更新时间:2023-11-30 01:01:46 25 4
gpt4 key购买 nike

我正在使用 PicassoURL 加载一个 Image,在我运行该应用程序后,我看到“应用程序可能在其主线程上做太多工作”。要设置 Image 我正在写这样的东西:

Picasso.with(ScrollingActivity.this).load(photoUrl).networkPolicy(NetworkPolicy.OFFLINE).into(userProfileImageView, new Callback() {
@Override
public void onSuccess() {

}

@Override
public void onError() {
with(ScrollingActivity.this).load(photoUrl).into(userProfileImageView);
}
});

现在我正在考虑使用 AsyncTaskImage 设置到 ImageView 中,为此我将我的代码修改为:

但是现在不知道在doInBackground方法和onPostExecute方法中写什么

我像这样使用 AsyncTask 方法:

class SetImageTask extends AsyncTask<Void, Void, Void>
{

@Override
protected Void doInBackground(Void... voids) {

Picasso.with(ScrollingActivity.this).load(photoUrl).networkPolicy(NetworkPolicy.OFFLINE).into(userProfileImageView, new Callback() {
@Override
public void onSuccess() {

}

@Override
public void onError() {
with(ScrollingActivity.this).load(photoUrl).into(userProfileImageView);
}
});


return null;
}

@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
}
}

但问题是我在 doInBackground 方法中将图像设置到 ImageView 中。所以我认为这需要在 UI 线程中完成。你能告诉我如何使用 AsyncTask

设置 Image

最佳答案

您不需要使用 AsyncTask 或后台线程来使用 Piccaso 加载图像。毕加索已经优化。它有自己的异步调用。你遇到的问题

"Application may be doing too much work on its main thread"

不是毕加索的缘故。可以引用this链接查看背后的原因 “应用程序可能在其主线程上做了太多工作”

关于java - 使用 Picasso 加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39295874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com