RFR: 8359599: Calling refresh() for all virtualized controls recreates all cells instead of refreshing the cells [v2]
Marius Hanl
mhanl at openjdk.org
Fri Oct 3 14:48:48 UTC 2025
On Fri, 3 Oct 2025 05:24:12 GMT, John Hendrikx <jhendrikx at openjdk.org> wrote:
>> Marius Hanl has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
>>
>> - Merge branch 'master' of https://github.com/openjdk/jfx into 8359599-refresh-recreates-all
>> - Calling refresh() for all virtualized controls recreates all cells instead of refreshing the cells
>
> modules/javafx.controls/src/test/java/test/javafx/scene/control/skin/TreeTableRowSkinTest.java line 368:
>
>> 366: JMemoryBuddy.assertCollectable(ref);
>> 367: }
>> 368:
>
> Is there another test that verifies that cells are garbage collectable? For example, in the case where a table / list / tree table becomes smaller visually, I think that it should then perhaps discard some cells that then should be collectable?
I think there are some when switching the `TableRow`, as this should remove all old rows and gc them at one point.
Other than that, I think there is no case where we gc cells. When we change the viewport width/height, all rows (cells if a `fixedCellSize` is set) will be piled / cached, but not destroyed.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1830#discussion_r2402229185
More information about the openjfx-dev
mailing list