1 Reply Latest reply on Jul 9, 2011 5:14 PM by stevetemp

    FlashBuilder for PHP 4.5 memory issue

    stevetemp

      Hi,

       

      I'm fairly new to flex and could use a little help. I have setup a project with FB for PHP and connected it using the PHPZend dataservices.

       

      When I do this it creates valueObjects in my flex project and I can then bind my data componets.

       

      I've done all of this using examples from adobeTV so i suppose I'm doing it the right way.

       

      I have a very simple two state stage with a search input which takes a string and then call's the php service which returns data into a list which has a custom item renderer.

       

      With each search the result data that is returned from the service is completely different values.

       

      While testing the application I noticed that it's memory usage keep's increasing, so after a little digging I have run profiler on the project and watched the Live Objects to see what is holding the memory.

       

      It seems to me that when a service is called the results are returned into a valueObject which was created by the FB for PHP introspector, and it seems that even though a new request has been made the old data is still held in memory.

       

      profiler.jpg

      As you can see the two items at the top of this screenshot are the two services that I'm calling. On the search I use the MasterRepList service to get a list of names (about 1000 of them) and then from what is selected there I query the EditionAdList service passing it the name from the search input.

       

      This then returns the results into the next state in the list with custom item renderer.

       

      I have run the search a few times before taking this screenshot and each search returned less than 150 items in the arraycollection...

       

      So my question is this.

       

      How can I clear out the memory in the two valueObjects when a new search is performed as having it keep growing is going to crash the pc pretty quickly?

       

      I'm not doing anything special just making a query and displaying the results... I dont want to be able to dynamicaly have it refresh or allow them to change any of the info.. just query and display the info....

       

      If the list require's refreshing then I will have a seperate function handle this which will also need to clear out the valueObjects first then repopulate it.

       

       

      Sorry for the long post and what may appear to be vague description... I'm still learning and would really appreciate any help offered.

       

      Cheers

       

      Steve