RE: [flexcoders] DataGrid updateComplete causes lots of memory leak.
Hopefully your code is: updateComplete=this.callLater(setVerticalScrollBarMethod); Depending on what that code does, it might use a bunch of memory, but if it gets freed later, it isn't a leak. The profiler will help you determine if there really is a leak. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 8:21 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] DataGrid updateComplete causes lots of memory leak. Hi Guyz, I have a viewstack holding two DG's. When I double click on an item in first DG, it should switch to the second DG and select the corresponding item in that DG and scroll down to that item. If I set verticalscrollbarposition something like.. updateComplete=this.callLater(setVerticalScrollBarMethod()); It causes a lot of memory leak until unless it is switched to the final view(2nd DG with highlighted item.) Can anyone tell me what I can use as an alternative to updateComplete ?? -Manu. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21927484.html Sent from the FlexCoders mailing list archive at Nabble.com.
RE: [flexcoders] DataGrid updateComplete causes lots of memory leak.
Yes, am using the same line of code. updateComplete=this.callLater(setVerticalPosition); private function setVerticalPosition():void{ productsGrid.verticalScrollPosition = getVerScrollPos(productsGrid.selectedItems);//which returns an int. } Now when I use profiler to see the memory use. The bar depicting the memory use keep on going up, drops all of a sudden then again goes up to a new high and so on(repeat the same criteria), until user actually switch his view to the screen having that datagrid. After that it will become a straight parallel line. WhereAs if I remove this one line of code, i.e. updateComplete(...) it achieves that straight parallel line much before and you don't even need to go to that particular view/screen. Any workaround or any other solution would be great. Thanks, Manu. Alex Harui wrote: Hopefully your code is: updateComplete=this.callLater(setVerticalScrollBarMethod); Depending on what that code does, it might use a bunch of memory, but if it gets freed later, it isn't a leak. The profiler will help you determine if there really is a leak. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 8:21 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] DataGrid updateComplete causes lots of memory leak. Hi Guyz, I have a viewstack holding two DG's. When I double click on an item in first DG, it should switch to the second DG and select the corresponding item in that DG and scroll down to that item. If I set verticalscrollbarposition something like.. updateComplete=this.callLater(setVerticalScrollBarMethod()); It causes a lot of memory leak until unless it is switched to the final view(2nd DG with highlighted item.) Can anyone tell me what I can use as an alternative to updateComplete ?? -Manu. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21927484.html Sent from the FlexCoders mailing list archive at Nabble.com. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21928252.html Sent from the FlexCoders mailing list archive at Nabble.com.
RE: [flexcoders] DataGrid updateComplete causes lots of memory leak.
Are you saying that afterwards the memory number does not drop back down even after you force a garbage collection using the profiler? If so, use the profiler to see what objects are sticking around. There's a tutorial on how to use it on my blog. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 10:07 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] DataGrid updateComplete causes lots of memory leak. Yes, am using the same line of code. updateComplete=this.callLater(setVerticalPosition); private function setVerticalPosition():void{ productsGrid.verticalScrollPosition = getVerScrollPos(productsGrid.selectedItems);//which returns an int. } Now when I use profiler to see the memory use. The bar depicting the memory use keep on going up, drops all of a sudden then again goes up to a new high and so on(repeat the same criteria), until user actually switch his view to the screen having that datagrid. After that it will become a straight parallel line. WhereAs if I remove this one line of code, i.e. updateComplete(...) it achieves that straight parallel line much before and you don't even need to go to that particular view/screen. Any workaround or any other solution would be great. Thanks, Manu. Alex Harui wrote: Hopefully your code is: updateComplete=this.callLater(setVerticalScrollBarMethod); Depending on what that code does, it might use a bunch of memory, but if it gets freed later, it isn't a leak. The profiler will help you determine if there really is a leak. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 8:21 PM To: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com Subject: [flexcoders] DataGrid updateComplete causes lots of memory leak. Hi Guyz, I have a viewstack holding two DG's. When I double click on an item in first DG, it should switch to the second DG and select the corresponding item in that DG and scroll down to that item. If I set verticalscrollbarposition something like.. updateComplete=this.callLater(setVerticalScrollBarMethod()); It causes a lot of memory leak until unless it is switched to the final view(2nd DG with highlighted item.) Can anyone tell me what I can use as an alternative to updateComplete ?? -Manu. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21927484.html Sent from the FlexCoders mailing list archive at Nabble.com. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21928252.html Sent from the FlexCoders mailing list archive at Nabble.com.
RE: [flexcoders] DataGrid updateComplete causes lots of memory leak.
It occurs to me that if you're changing the display in updateComplete you could be causing another updateComplete and looping forever. Set a breakpoint on your handler and see how often it gets called. If I were doing something like this, I'd have a currentSelection property somewhere that the first DG sets and the second DG reacts to by binding to it and avoid using UI and validation events directly. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Alex Harui Sent: Monday, February 09, 2009 10:15 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] DataGrid updateComplete causes lots of memory leak. Are you saying that afterwards the memory number does not drop back down even after you force a garbage collection using the profiler? If so, use the profiler to see what objects are sticking around. There's a tutorial on how to use it on my blog. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 10:07 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] DataGrid updateComplete causes lots of memory leak. Yes, am using the same line of code. updateComplete=this.callLater(setVerticalPosition); private function setVerticalPosition():void{ productsGrid.verticalScrollPosition = getVerScrollPos(productsGrid.selectedItems);//which returns an int. } Now when I use profiler to see the memory use. The bar depicting the memory use keep on going up, drops all of a sudden then again goes up to a new high and so on(repeat the same criteria), until user actually switch his view to the screen having that datagrid. After that it will become a straight parallel line. WhereAs if I remove this one line of code, i.e. updateComplete(...) it achieves that straight parallel line much before and you don't even need to go to that particular view/screen. Any workaround or any other solution would be great. Thanks, Manu. Alex Harui wrote: Hopefully your code is: updateComplete=this.callLater(setVerticalScrollBarMethod); Depending on what that code does, it might use a bunch of memory, but if it gets freed later, it isn't a leak. The profiler will help you determine if there really is a leak. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 8:21 PM To: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com Subject: [flexcoders] DataGrid updateComplete causes lots of memory leak. Hi Guyz, I have a viewstack holding two DG's. When I double click on an item in first DG, it should switch to the second DG and select the corresponding item in that DG and scroll down to that item. If I set verticalscrollbarposition something like.. updateComplete=this.callLater(setVerticalScrollBarMethod()); It causes a lot of memory leak until unless it is switched to the final view(2nd DG with highlighted item.) Can anyone tell me what I can use as an alternative to updateComplete ?? -Manu. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21927484.html Sent from the FlexCoders mailing list archive at Nabble.com. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21928252.html Sent from the FlexCoders mailing list archive at Nabble.com.
RE: [flexcoders] DataGrid updateComplete causes lots of memory leak.
Selection is fine, as you said, can be done easily. But I do need UI and event framework for the vertical scroll positioning. On the other hand, from the profiler, here I do have some interesting figures: Memory Snapshot(in couple of minutes interval) Loitering Objects WeakMethodClosure | flash.events | Instances:48914(98.43%) | Memory:782624(83.87%) //with updateComplete WeakMethodClosure | flash.events | Instances:2(2.25%) | Memory:32(0.23%) //without updateComplete Same steps being followed for two parallel instances of same app run and it returned me above noticeable figures. A couple more lines were there(with more objects), but this one is noticeable. -Manu. Alex Harui wrote: It occurs to me that if you're changing the display in updateComplete you could be causing another updateComplete and looping forever. Set a breakpoint on your handler and see how often it gets called. If I were doing something like this, I'd have a currentSelection property somewhere that the first DG sets and the second DG reacts to by binding to it and avoid using UI and validation events directly. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Alex Harui Sent: Monday, February 09, 2009 10:15 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] DataGrid updateComplete causes lots of memory leak. Are you saying that afterwards the memory number does not drop back down even after you force a garbage collection using the profiler? If so, use the profiler to see what objects are sticking around. There's a tutorial on how to use it on my blog. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 10:07 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] DataGrid updateComplete causes lots of memory leak. Yes, am using the same line of code. updateComplete=this.callLater(setVerticalPosition); private function setVerticalPosition():void{ productsGrid.verticalScrollPosition = getVerScrollPos(productsGrid.selectedItems);//which returns an int. } Now when I use profiler to see the memory use. The bar depicting the memory use keep on going up, drops all of a sudden then again goes up to a new high and so on(repeat the same criteria), until user actually switch his view to the screen having that datagrid. After that it will become a straight parallel line. WhereAs if I remove this one line of code, i.e. updateComplete(...) it achieves that straight parallel line much before and you don't even need to go to that particular view/screen. Any workaround or any other solution would be great. Thanks, Manu. Alex Harui wrote: Hopefully your code is: updateComplete=this.callLater(setVerticalScrollBarMethod); Depending on what that code does, it might use a bunch of memory, but if it gets freed later, it isn't a leak. The profiler will help you determine if there really is a leak. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 8:21 PM To: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com Subject: [flexcoders] DataGrid updateComplete causes lots of memory leak. Hi Guyz, I have a viewstack holding two DG's. When I double click on an item in first DG, it should switch to the second DG and select the corresponding item in that DG and scroll down to that item. If I set verticalscrollbarposition something like.. updateComplete=this.callLater(setVerticalScrollBarMethod()); It causes a lot of memory leak until unless it is switched to the final view(2nd DG with highlighted item.) Can anyone tell me what I can use as an alternative to updateComplete ?? -Manu. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21927484.html Sent from the FlexCoders mailing list archive at Nabble.com. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21928252.html Sent from the FlexCoders mailing list archive at Nabble.com. -- View this message in context: http://www.nabble.com/DataGrid-updateComplete-causes-lots-of-memory-leak.-tp21927484p21928674.html Sent from the FlexCoders mailing list archive at Nabble.com.
RE: [flexcoders] DataGrid updateComplete causes lots of memory leak.
You can look at the allocation stack trace to see where those come from. WeakMethodClosures can generate false-postives in the profiler so it may just be a false alarm. I don't know why you would need to hook UI or input events directly to do vertical scroll positioning. The secondary view should pull its viewstate from a central data model, then you don't need to push information into the view and worry about when it is ready. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 11:01 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] DataGrid updateComplete causes lots of memory leak. Selection is fine, as you said, can be done easily. But I do need UI and event framework for the vertical scroll positioning. On the other hand, from the profiler, here I do have some interesting figures: Memory Snapshot(in couple of minutes interval) Loitering Objects WeakMethodClosure | flash.events | Instances:48914(98.43%) | Memory:782624(83.87%) //with updateComplete WeakMethodClosure | flash.events | Instances:2(2.25%) | Memory:32(0.23%) //without updateComplete Same steps being followed for two parallel instances of same app run and it returned me above noticeable figures. A couple more lines were there(with more objects), but this one is noticeable. -Manu. Alex Harui wrote: It occurs to me that if you're changing the display in updateComplete you could be causing another updateComplete and looping forever. Set a breakpoint on your handler and see how often it gets called. If I were doing something like this, I'd have a currentSelection property somewhere that the first DG sets and the second DG reacts to by binding to it and avoid using UI and validation events directly. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com] On Behalf Of Alex Harui Sent: Monday, February 09, 2009 10:15 PM To: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com Subject: RE: [flexcoders] DataGrid updateComplete causes lots of memory leak. Are you saying that afterwards the memory number does not drop back down even after you force a garbage collection using the profiler? If so, use the profiler to see what objects are sticking around. There's a tutorial on how to use it on my blog. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 10:07 PM To: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com Subject: RE: [flexcoders] DataGrid updateComplete causes lots of memory leak. Yes, am using the same line of code. updateComplete=this.callLater(setVerticalPosition); private function setVerticalPosition():void{ productsGrid.verticalScrollPosition = getVerScrollPos(productsGrid.selectedItems);//which returns an int. } Now when I use profiler to see the memory use. The bar depicting the memory use keep on going up, drops all of a sudden then again goes up to a new high and so on(repeat the same criteria), until user actually switch his view to the screen having that datagrid. After that it will become a straight parallel line. WhereAs if I remove this one line of code, i.e. updateComplete(...) it achieves that straight parallel line much before and you don't even need to go to that particular view/screen. Any workaround or any other solution would be great. Thanks, Manu. Alex Harui wrote: Hopefully your code is: updateComplete=this.callLater(setVerticalScrollBarMethod); Depending on what that code does, it might use a bunch of memory, but if it gets freed later, it isn't a leak. The profiler will help you determine if there really is a leak. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.commailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.commailto:flexcoders%40yahoogroups.com] On Behalf Of Manu Dhanda Sent: Monday, February 09, 2009 8:21 PM To: flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.commailto:flexcoders%40yahoogroups.com Subject: [flexcoders] DataGrid updateComplete causes lots of memory leak. Hi Guyz, I have a viewstack holding two DG's. When I double click on an item in first DG, it should switch to the second DG and select the corresponding item in that DG and scroll down to that item