That will be it. The file cache is supposed to be small (docs
recommend under 1 MB.
Thanks for the feedback. Many people don't bother to post solutions.
Chris


On Feb 16, 7:13 pm, Jim Andresakis <[email protected]> wrote:
> So I got this working by changing the context.getCacheDir() to
> context.getExternalFilesDir(sdState) and now I can once again have my
> app download images from the web and take photos.
>
> On Feb 16, 3:08 pm, Jim Andresakis <[email protected]> wrote:
>
>
>
> > Yeah I cant figure that out either. However it wasnt an issue up until
> > a week ago.
>
> > This is what Im using to create the place that I thought would be the
> > sd card
>
> > String sdState = android.os.Environment.getExternalStorageState();
> >                 if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)) {
> >                         File sdDir =
> > android.os.Environment.getExternalStorageDirectory();
> >                         cacheDir = new File(sdDir,"data");
> >                 }
> >                 else
> >                         cacheDir = context.getCacheDir();
>
> >                 if(!cacheDir.exists())
> >                         cacheDir.mkdirs();
>
> >                 if(sdState.equals(android.os.Environment.MEDIA_MOUNTED)){
> >                         File adSdDir =
> > android.os.Environment.getExternalStorageDirectory();
> >                         adCacheDir = new File(adSdDir,"addata/");
> >                 }else
> >                         adCacheDir = context.getCacheDir();
>
> >                 if(!adCacheDir.exists())
> >                     adCacheDir.mkdirs();
> >         }
> > every where I read thats how you get to the sd card
>
> > On Feb 16, 3:02 pm, Chris Mawata <[email protected]> wrote:
>
> > > Your single application won't be given all of the 1 gig of memory on
> > > the device. It is a much more humble number like 16MB or 24MB.
> > > Probably the first thing to investigate is why the images are on
> > > internal memory.
>
> > > On Feb 16, 5:21 pm, Jim Andresakis <[email protected]> wrote:
>
> > > > Hello,
>
> > > > I have an app where I let users take pictures and at the same time I
> > > > stream pictures to the user based on their location. Im storing the
> > > > image files from the download in a file that is supposed to be on the
> > > > sd card but for some reason gets created on the internal memory. Just
> > > > recently I hit a problem where suddenly after about 80 small image
> > > > files have been downloaded into the file my app will no longer allow
> > > > users to take images. I get no crash but just a warning in the logcat
> > > > that states
>
> > > > Java.IO.Exception no space left on device
>
> > > > This is happening when I am trying to create a file from an
> > > > outputstream.
>
> > > > In my code this error happens at this particular line:
>
> > > > bmp.compress(Bitmap.CompressFormat.PNG, 80, out);
>
> > > > I have that line nested within a method that I use to create an image
> > > > that can be stored locally on the phone rather than in memory so I
> > > > dont run out of memory.
> > > > The whole method looks like this:
>
> > > > private void writeFile(Bitmap bmp, File f) {
> > > >                 FileOutputStream out = null;
>
> > > >                 try {
> > > >                         out = new FileOutputStream(f);
> > > >                         bmp.compress(Bitmap.CompressFormat.PNG, 80, 
> > > > out);
> > > >                 } catch (NullPointerException e) {
> > > >                         e.printStackTrace();
> > > >                         Log.w("nullpointerException on image error", 
> > > > "nullpointer");
> > > >                 } catch (FileNotFoundException e) {
> > > >                         Log.w("fileNotfoundException on image error", 
> > > > "filenotfound");
> > > >                         // TODO Auto-generated catch block
> > > >                         e.printStackTrace();
> > > >                 }
> > > >                 finally {
> > > >                         try { if (out != null ) out.close(); }
> > > >                         catch(Exception ex) {}
> > > >                 }
> > > >         }
>
> > > > both catches never hit when this method fails so I guess Im hitting
> > > > the final catch in the finally block.
> > > > I have done some research on this and I do not think Im running into
> > > > the problem of having to many files in one directory or using names
> > > > that are too long. The file names are 1 to 5 characters at most and
> > > > last week I was able to have over 400 files in the same directory
> > > > without any problems like this occurring. The phone Im testing on at
> > > > the moment has over 1gig free of internal and close to the same on the
> > > > external so hard memory is not the issue either. This is a sudden
> > > > problem that just came on last week so Im kind of stumped and any help
> > > > would be much appreciated.- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to