Como posso salvar meu bitmap corretamente pela segunda vez?

Quero salvar meu bitmap no diretório de cache. Eu uso este código:

try {
        File file_d = new File(dir+"screenshot.jpg");
        @SuppressWarnings("unused")
        boolean deleted = file_d.delete();
    } catch (Exception e) {
        // TODO: handle exception
    }

    imagePath = new File(dir+"screenshot.jpg");
    FileOutputStream fos;
    try {
        fos = new FileOutputStream(imagePath);
        bitmap.compress(CompressFormat.JPEG, 100, fos);
        fos.flush();
        fos.close();
    } catch (FileNotFoundException e) {
        Log.e("GREC", e.getMessage(), e);
    } catch (IOException e) {
        Log.e("GREC", e.getMessage(), e);
    }
}

está funcionando bem. Mas se eu quiser salvar diferentes img no mesmo caminho, algo der errado. Quero dizer, ele é salvo no mesmo caminho, mas vejo a imagem antiga, mas quando clico na imagem, consigo ver a imagem correta que salvei na segunda vez.

Talvez seja proveniente do cache, mas eu não quero ver a imagem antiga, porque quando quero compartilhar essa imagem com a imagem antiga do whatsapp vista, se eu enviar a imagem, parece correta.

Quero compartilhar a imagem salva no whatsapp como este código:

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imagePath));
shareIntent.setType("image/jpeg");
startActivityForResult(Intent.createChooser(shareIntent, getResources().getText(R.string.title_share)),whtsapp_result);

Como posso corrigir isso?

desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion