مشکل در پاک شدن کش برنامه (حل شد)

ساخت وبلاگ
من یکی از آیتمهای یک ریسلیکلر ویو رو ثبت میکنم توی گوشیم و اون ایتم حاوی عکس هم هست
عکس با توضیحات ذخیره میشه توی گوشی
چک کردم درست هم ذخیره میشه
بعد اون ایتم رو از گوش حذف میکنم و عکس هم حذف میشه و چک کردم و حذف هم شده

بعد اگر همون آیتم رو با همون اسم و نام اما با عکس متفاوت یک بار دیگه توی گوشی ذخیره کنم دوباره همون عکس اول رو نمایش میده.
علتش چیه؟

کد زیر کل پوشه کش رو پاک میکنه

اگر کل پوشه کش برنامه پاک بشه shared prefrences هم پاک میشه؟ و کلا چه چیزایی پاک میشه وقتی پوشه کش مربوط به برنامه پاک بشه؟

حالا تست کردم با همین کد و کل پوشه پاک میشه و کش هم پاک میشه اما همچنان مشکل بنده پا برجا هست!!!

ظاهرا پوشه کش هم خالی هست چون حلقه for اجرا نمیشه و مستقیم پوشه را حذف میکنه.

کد دانلود عکس از سرور:

private Bitmap downloadUrl(String strUrl) throws IOException { Bitmap bitmap = null; InputStream iStream = null; File secondFile; Bitmap.CompressFormat format = null; try { File myDir = AdapterContext.getFilesDir(); String Extention ="png" File NewsDirectory = new File("my app location and folder"); if (!(NewsDirectory.isDirectory() && NewsDirectory.isDirectory())) { boolean success = (new File("check if folder is not made then it make it")).mkdir(); } URL url = new URL(strUrl); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.connect(); iStream = urlConnection.getInputStream(); bitmap = BitmapFactory.decodeStream(iStream); secondFile = new File("my app folder"+"my file name" + Extention); ImageAddress = secondFile.toString(); FileOutputStream stream = new FileOutputStream(secondFile); ByteArrayOutputStream outstream = new ByteArrayOutputStream(); format = Bitmap.CompressFormat.PNG; bitmap.compress(format, 85, outstream); byte[] byteArray = outstream.toByteArray(); stream.write(byteArray); stream.close(); ImageDownloaded = true; } catch (Exception e) { } finally { iStream.close(); } return bitmap;
}

کد حذف فولدر کش برنامه:

File dir = Context.getCacheDir();
deleteDir(dir);
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(); } else if(dir!= null && dir.isFile()) { return dir.delete(); } else { return false; }
}
برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 226 تاريخ : چهارشنبه 18 مرداد 1396 ساعت: 1:09

خبرنامه