feat: Refactor screenshot capture for improved performance and reliab… #150
+224
−114
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.
…ility
This commit refactors the
captureScreenshot
method inScreenshotCapturer
to improve performance and reliability. The changes include:
Synchronous Setup: The method now performs synchronous operations first
(getting context, render object, calculating pixel ratio, and getting the
initial image) before executing the main process asynchronously. This
ensures that the initial setup is done on the main UI thread, as required.
Asynchronous Processing: The main image processing and masking logic
are now executed asynchronously using a
Future
andCompleter
,preventing UI jank.
Snapshot Management: The
_views
Expando is replaced with aSnapshotManager
to manage the status of the view, improving codeorganization and maintainability.- feat: Refactor screenshot capture for improved performance and reliability
chore: process image in completable future example
💡 Motivation and Context
💚 How did you test it?
📝 Checklist