title: Android Clear External Image Cache On Exit
body: <p>How do execute Clear(); in FileCache.class from another activity. I'm showing small parts of my codings. My objective is to clear the external cached file on every exit. Can anyone please show me how it is done. Thanks </p>
  
  <p>FileCache.class</p>
  
  <pre><code>public class FileCache {
  
      private File cacheDir;
  
      public FileCache(Context context){
          //Find the dir to save cached images
          if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
              cacheDir=new File(android.os.Environment.getExternalStorageDirectory(),"LazyList");
          else
              cacheDir=context.getCacheDir();
          if(!cacheDir.exists())
              cacheDir.mkdirs();
      }
  
      public File getFile(String url){
          //I identify images by hashcode. Not a perfect solution, good for the demo.
          String filename=String.valueOf(url.hashCode());
          //Another possible solution (thanks to grantland)
          //String filename = URLEncoder.encode(url);
          File f = new File(cacheDir, filename);
          return f;
  
      }
  
      public void clear(){
          File[] files=cacheDir.listFiles();
          if(files==null)
              return;
          for(File f:files)
              f.delete();
      }
  
  }
  </code></pre>
  
  <p>MyMainActivity.class</p>
  
  <pre><code>@Override
          public void onBackPressed() {
              AlertDialog.Builder builder = new AlertDialog.Builder(this);
              builder.setMessage("Do you want to exit?")
                     .setCancelable(false)
                     .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int id) {
  
                             Intent intent = new Intent(Intent.ACTION_MAIN);
                             intent.addCategory(Intent.CATEGORY_HOME);
                             intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                             startActivity(intent);
                             new clear();  //&lt;&lt;--- How do i Call clear(); in FileCache.class
                             System.exit(0);
                         }
                     })
                     .setNegativeButton("No", new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int id) {
                              dialog.cancel();
                         }
                     });
              AlertDialog alert = builder.create();
              alert.show();
  
      }
  </code></pre>