есть простые действия A и B. Деятельность A запускает операцию B, и я могу выбрать изображение в качестве изображения профиля, которое сначала я загружаю на сервер, а затем показываю изображение через полученный URL-адрес.Сначала, когда я переключаюсь на действие B, все работает нормально, если изображение уже загружено, оно показывается в просмотре изображений или оно будет загружено и показано.в этом случае, если я выберу другие изображения для загрузки, все будет работать нормально, и просмотр изображений покажет новые изображения.Когда я выхожу из действия и перезапускаю его, отображается ранее загруженное изображение (если оно существует), но любое новое изображение, загруженное на сервер, не будет отображаться, даже если его можно нарисовать.изображение не будет обновляться вообще, пока я снова не выйду из активности и не перезапущу ее, что в этом случае будет отображать предыдущее загруженное изображение, но снова новое изображение не отображается.Подводя итог, в первый раз все работает нормально, но в следующий раз изображение загружается правильно только один раз.Я использовал Glide и Frisco и думал, что проблема вызвана ими, но затем использовал простой ImageView и простое соединение для загрузки растрового изображения, и это было то же самое.это работает только один раз.
Я тестировал как на Nokia 6.1 плюс Android 9 и Nexus 5x Android 8.1, так и на эмуляторах с Android 8.1 и Android 9. Я также пробовал сборку релиза и все тот жеКроме того, я использую AndroidX, и стратегия загрузки изображений и их загрузки такая же, как и в моих предыдущих проектах, и я никогда не сталкивался с этой проблемой раньше.
пробовал это ниже до и после загрузки изображения иэто не работает.с Glide и Frisco кеш также отключен.и URL-адреса абсолютно случайны, поэтому у них даже не будет возможности их кешировать.Вот пример загрузки и загрузки, просто временный.
image.setImageResource(0);
image.setImageBitmap(null);
image.invalidate();
new Thread(new Runnable() {
@Override
public void run() {
Bitmap bmp = null;
try {
trustEveryone();
URL url = new URL(user.image_address);
bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
Bitmap finalBmp = bmp;
ProfileActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
_profileImage.setImageBitmap(null);
_profileImage.setImageResource(0);
_profileImage.invalidate();
_profileImage.setImageBitmap(finalBmp);
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();