I have had similar problems releasing collections.  In fact, i have
for now abandoned the practice since it was taking a fair amount of
time and CPU on the client to complete.  My problem is that I am
paging in a large collection of 5000 objects.  Using autoSync = true I
can get the objects very quickly from dataservices, but then I want to
release them at some point (which takes a while) so they stop
responding to server push calls.  I could create my own paging
parameters and figure a different way to fill these objects, but for
now, I am just doing it this want am keeping the objects managed on
the client.  It would be nice to have a quicker way to release objects.

- Kevin

--- In [email protected], "foobone9" <[EMAIL PROTECTED]> wrote:
>
> 
> Unfortunately I already tried releaseCollection(.., true); and the
> results were the same. In my test scenarios there are no other
> references to the data outside the collection passed to
> releaseCollection. Beyond my test scenarios it would be possible to
> have multiple references in which case I would want the copies to be
> made and data maintained.
> 
> Is it possible that my object's lazy relationships are causing
> excessive graph traversal during the release? If this is the case I'm
> wondering if I can test that by changing that relationship information
> in the data management configuration file even though the
> relationships still exist in my DB without causing any other
> unintended consequences.
> 
> --- In [email protected], "Jeff Vroom" <jvroom@> wrote:
> >
> > Try calling releaseCollection(.., true);
> > 
> >  
> > 
> > If you are releasing a collection which has an object which is still
> > referenced on that client, DMS makes a copy of the instance.  This
is so
> > that your collection does not have any managed objects after the
release
> > call....   If you pass in the true as the second param it won't make
> > that copy but instead will clear the collection.  I have wondered
if we
> > need a way to release the reference but leave the collection
> > unchanged... let me know if you think that would help in this case.
> > 
> >  
> > 
> > Jeff
> > 
> >  
> > 
> > ________________________________
> > 
> > From: [email protected]
[mailto:[EMAIL PROTECTED] On
> > Behalf Of foobone9
> > Sent: Monday, March 24, 2008 7:18 PM
> > To: [email protected]
> > Subject: [flexcoders] lcds / fds release collection problem
> > 
> >  
> > 
> > I have a flex 2 application where you can open tabs (of canvases) that
> > display and edit managed data using lcds 2.5.1. The retrieved data is
> > somewhat encapsulated to the UI tab so when the tab is closed I want
> > to release the data to minimize the client memory footprint and data
> > management overhead. 
> > 
> > The data is retrieved using fill() so to release I use (my
> > DataService).releaseCollection(serviceArray). This synchronous call
> > blocks for a long time and greatly increases the memory footprint. 
> > 
> > As an example a service array with a length of 127 objects took 48
> > seconds and actually increased 202,094 bytes just to release. 
> > 
> > The objects in the service array have several lazy associations; some
> > of which have been accessed; some of which have not (based on paging
> > from my DataGrid). Could there be a circular referencing problem?
> > 
> > I am probably doing something obviously wrong but I can't figure it
> > out and would appreciate any advice.
> >
>


Reply via email to