Fix memory leak in fontSize cache #4119
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
The fontSizeCache which stores size information for a given string and font size+style was only cleaned out on settings change. Since it stores arbitrary strings from user code it would be a slow leak over time especially for text-heavy apps.
This PR makes the cache entries expire with the standard expiry time and adds the cleanup to the Clean task that is run on paint events. I am open to discussion if the cleaning should be done on a different schedule and/or the expiry should be adjusted.
Fixes #4108
Checklist:
Where applicable: