Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.2.BETA1, 3.2
-
Fix Version/s: EE-3.2.0.BETA, EE-3.2.0.GA, 3.3
-
Component/s: ACE-Components
-
Labels:None
-
Environment:IE8, Firefox
Description
When completing actions of retrieving and clearing an ace:dataTable that co=
ntains an ace:dateTimeEntry component, IE8 browser takes more and more memo=
ry very rapidly.
Here is my testing data with the page displaying 200 rows.
Memory IE process takes after each Retrieve:
110M (baseline), 149, 212, 298, 332, 362, 392, 443, 486, 560, 612=E2=80=A6=
=E2=80=A6
It reaches 1G after 22 Retrieves. The memory size does not go down after I =
stopped performing any action.
This problem does not occur on a page which does not contain calendar widge=
ts in the table. It also occurs in FireFox to a lesser degree. The memory b=
uilds up over time but at a much slower pace. Here is the numbers for FF:
174M, 191, 200, 212, 220, 226=E2=80=A6
This memory leak could be coming from DatePicker plugin under the calendar =
widget. JQuery has an open bug on it: http://bugs.jqueryui.com/ticket/8164.=
This could be contributing to the client-side performance degradation in t=
he application.
From link mentioned in Description (http://bugs.jqueryui.com/ticket/8164), =
problem is caused by bindHover(). bindHover() is used to implement CSS chan=
ges when hovering over calendar (e.g. color change when hovering over a day=
). Two suggested fixes from there:
ality
tainer div of calendar)
We have already decided that .live() causes major performance problems and =
is no good? So change to use .on()? But in this scenario there seems not mu=
ch difference .bind() and .on(). Will changing to .on() help?