我有一个加载屏幕,我在其中获取属于登录用户的数据。这些数据包括他们的个人资料图片(其中三个)。
我想要做的是在我们用加载屏幕中的URL下载图像时缓存图像。然后在下一个活动中,我想访问缓存的图像以在该活动中显示它们。因此,基本上将一个活动中的所有图像加载到另一个活动中。这种方式(我想)每次用户输入显示其个人资料图像的活动时,我都不必发出http请求。这提供了更好的用户体验。 所以这是从缓存到屏幕的图像,我无法解决,因为我认为我已经正确地将它们加载到缓存中,如下所示。
这是我目前加载活动的方法:
Backendless.Data.of(UserFileMapping.class).find(new AsyncCallback<BackendlessCollection<UserFileMapping>>() {
@Override
public void handleResponse(BackendlessCollection<UserFileMapping> response) {
Iterator<UserFileMapping> iterator = response.getCurrentPage().iterator();
while(iterator.hasNext()){
UserFileMapping fileMapping = iterator.next();
String profile1 = fileMapping.profile_url;
String profile2 = fileMapping.profile_url_2;
String profile3 = fileMapping.profile_url_3;
Picasso.with(getApplicationContext())
.load(profile1)
.fetch(new Callback() {
@Override
public void onSuccess() {
continue_button.setVisibility(View.VISIBLE);
loading_text.setText("Done!");
}
@Override
public void onError() {
//Make toast
}
});
}
}
@Override
public void handleFault(BackendlessFault fault) {
System.out.println("FAULT:" + fault.getCode());
}
});
同时下载所有三张图片也是一个问题,但这并不像缓存问题那么重要。除了缓存问题之外,如果您对此有一个好主意,我也很乐意听到它。