20 Replies Latest reply on Nov 6, 2017 1:40 PM by fullflash

    iOS fileStream multiple uses causes insufficient resources error

    Jason Moore Level 1

      Hi All,

       

      I've come across an issue with using the fileStream object on the iPad. The application we are writing downloads lots of data through a socket connection and we use the fileStream class to write data to the application storage directory using asyncOpen. I'm using 4.5.1 and Air2.7

       

      All goes well for a bit , then it will hang with the error insufficient resources error. We've gone over the code, checked with the profiler to ensure the fileStream object GC and it all works fine on the windows desktop. We've even tried it on a Andriod device and its fine. But on the iPad it always hangs after a certain point.

       

      We did some more investigation and we find that we can write 1195 files ( give or take a few ) before it crashes.  We've tried using one fileStream object, closing it, then re-using it to open another file. We've tried using a new instance of the fileStream for each file we write. We've tried batching the files in to 10,20 or 50 before disposing and using a new fileStream object.. the same thing happens and the hang occurs at the same point. We also tried some different data, just incase it was that.

       

      My belief is that there is something wrong with the implementation for the iOS version which is not releasing the file streams at the low level. I've registered it as a bug, but I was hoping that by posting this in the forums I would...

       

      1. Have the error confirmed by someone else. ( I'll be delighted if its just me . )

      2. Raise it's awareness ( I've registered it as a bug but I get the feeling these ar'nt addressed particularly quickly ).

      3. Hope that someone can offer a work around...

       

      I've marked it as a question and will consider it answered if someone else can replicate the problem.

       

      Many thanks

       

      J