When using a DataTable based on a structure that includes TArray or TMap, if a row is not selected, the memory usage will continue to increase.
This is because in SDetailsViewBase::Tick, ForceRefresh() is called continuously due to Result == EPropertyDataValidationResult::ObjectInvalid.
To solve this issue, you can stop the Tick of the DetailView when it is not selected, as shown in the following code.
void SRowEditor::Restore()
{
...
// add
StructureDetailsView->GetWidget()->SetCanTick(!SelectedName->IsNone());
RowSelectedCallback.ExecuteIfBound(FinalName);
}
result : memory usage keeps increasing
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-183526 in the post.
0 |
Component | UE - Editor - Workflow Systems |
---|---|
Affects Versions | 5.0, 5.1 |
Created | Apr 18, 2023 |
---|---|
Updated | Jan 19, 2024 |