| Summary: | [Tree][Table][Grid] Memory leak in Grid on client | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Tim Buschtoens <tbuschto> | ||||
| Component: | RWT | Assignee: | Project Inbox <rap-inbox> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P2 | CC: | ivan, rsternberg, tbuschto | ||||
| Version: | 1.5 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | sr152 | ||||||
| Attachments: |
|
||||||
|
Description
Tim Buschtoens
For 2.0 this should be fixed with Bug 373357. For 1.5 i would not introduce such big changes and just fix the LCAs like this: public void renderDispose( Widget widget ) throws IOException { TableItem item = ( TableItem )widget; ClientObjectFactory.getClientObject( widget ).destroy(); } If no one objects to that idea i will provide such a patch for 1.5 soon. Created attachment 223800 [details]
patch for 1.5
Fixes the issue for 1.5 as uninvasive as possible.
Fixed with commit 52d60d1743aa4bc315416f9cf7608e97e11244b6 in master. Items are destroyed on the client. (In reply to comment #2) > Created attachment 223800 [details] > patch for 1.5 > > Fixes the issue for 1.5 as uninvasive as possible. Tim, I prefer client solution like in 2.0. In case of a big Tree/Table we will render very big JSON message from the server (a lot of destroy operations). I did some testing today in IE9 and Chrome with Controls Demo -> Table Tab (non virtual Table with 100 items). After creation and disposal of the Table 100 times the memory increase is: - Chrome - 14M - IE9 - 30MB There is no big difference between the times needed for disposal only of Table or Table + all (100) TableItems: - Chrome - 40ms / 45ms - IE - 20ms / 25ms That's why I think that the proposed fix in comment#2 is fine for 1.5-maintenance branch. I agree. +1 for Tim's patch. |