β‘ Bolt: Optimize PlexOptimizedImage build method #28
+13
β13
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.
π‘ What: Refactored the
PlexOptimizedImagewidget to move theresolvedDimensionhelper function out of thebuildmethod and into a top-level private function.π― Why: Defining functions inside a
buildmethod causes a new function object (a closure) to be allocated on every widget rebuild. For frequently rebuilt widgets like images in a list, this creates unnecessary memory churn and adds overhead for the garbage collector.π Impact: This change prevents the repeated allocation of the function object, reducing memory churn and CPU overhead during renders. While a micro-optimization, it contributes to smoother scrolling and better overall performance, especially in image-heavy views.
π¬ Measurement: The improvement can be observed by profiling the application's memory usage in Flutter DevTools. Before the change, memory allocation would show an increase in closures during scrolling. After the change, this specific allocation is eliminated.
PR created automatically by Jules for task 243962175763392462 started by @Doezer