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.

-- 
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