Android:在远程服务器中更新图像后,imageview仍然显示旧图像
我的问题是,当我在远程服务器上手动更改图像后,如果我重新运行我的应用程序,android仍然会显示旧图像。清除真实设备中的捕获和数据,仍然显示旧图像。若我卸载并再次运行它,那个么它将显示新的映像,即远程服务器中的内容。为什么在清除数据和捕捉后,它仍然显示旧图片Android:在远程服务器中更新图像后,imageview仍然显示旧图像,android,picasso,Android,Picasso,我的问题是,当我在远程服务器上手动更改图像后,如果我重新运行我的应用程序,android仍然会显示旧图像。清除真实设备中的捕获和数据,仍然显示旧图像。若我卸载并再次运行它,那个么它将显示新的映像,即远程服务器中的内容。为什么在清除数据和捕捉后,它仍然显示旧图片 public class MainActivity extends AppCompatActivity { ImageView imageView; @Override protected void onCreate(Bundle sa
public class MainActivity extends AppCompatActivity {
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView)findViewById(R.id.imageView);
Picasso.with(this)
.load("http://gator4227.hostgator.com/~harakas/images/olaripihlak@hotmail.com.jpg")
.resize(250,250)
.centerCrop()
.into(imageView);
}
我尝试在onDestroy()中删除catch和data,但仍然存在相同的问题
@Override
protected void onDestroy() {
deleteCache(this);
clearApplicationData();
super.onDestroy();
}
public static void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {}
}
public static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
return dir.delete();
}
public void clearApplicationData() {
File cacheDirectory = getCacheDir();
File applicationDirectory = new File(cacheDirectory.getParent());
if (applicationDirectory.exists()) {
String[] fileNames = applicationDirectory.list();
for (String fileName : fileNames) {
if (!fileName.equals("lib")) {
deleteFile(new File(applicationDirectory, fileName));
}
}
}
}
public static boolean deleteFile(File file) {
boolean deletedAll = true;
if (file != null) {
if (file.isDirectory()) {
String[] children = file.list();
for (int i = 0; i < children.length; i++) {
deletedAll = deleteFile(new File(file, children[i])) && deletedAll;
}
} else {
deletedAll = file.delete();
}
}
return deletedAll;
@覆盖
受保护的空onDestroy(){
删除缓存(本);
clearApplicationData();
super.ondestory();
}
公共静态void deleteCache(上下文){
试一试{
File dir=context.getCacheDir();
if(dir!=null&&dir.isDirectory()){
deleteDir(dir);
}
}捕获(例外e){}
}
公共静态布尔deleteDir(文件目录){
if(dir!=null&&dir.isDirectory()){
String[]children=dir.list();
for(int i=0;i
毕加索首先尝试从内存缓存中获取图像。如果该图像在缓存中可用,则它将显示该图像。要覆盖该图像,可以使用MemoryPolicy
试一试
Picasso.with(this)
.load("http://gator4227.hostgator.com/~harakas/images/olaripihlak@hotmail.com.jpg")
.resize(250,250)
.memoryPolicy(MemoryPolicy.NO_CACHE)
.centerCrop()
.into(imageView);