-
Notifications
You must be signed in to change notification settings - Fork 28.9k
Closed
Labels
P0Critical issues such as a build break or regressionCritical issues such as a build break or regressiona: fidelityMatching the OEM platforms betterMatching the OEM platforms betterc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)customer: money (g3)engineflutter/engine repository. See also e: labels.flutter/engine repository. See also e: labels.platform-androidAndroid applications specificallyAndroid applications specifically
Description
Internal bugs: http://b/190767277, http://b/185423816
Using https://developer.android.com/reference/android/view/ViewTreeObserver.OnPreDrawListener to delay when Flutter's activity first draws can help solve
- getting more accurate https://developer.android.com/topic/performance/vitals/launch-time measurements
- not require a custom Flutter splash screen transition on top of the Android OS's splash screen and the subsequent Android S splash screen breaking change (b/185423816)
Things this might involve:
- Update https://flutter.dev/docs/development/ui/advanced/splash-screen#android-launch-screen
- Support a compatibility mode with the old way. Likely by letting this be configurable via FlutterView constructor argument and letting there be intent builder flags defaulting to yes on FlutterActivity/FlutterFragment/FlutterFragmentActivity
Metadata
Metadata
Assignees
Labels
P0Critical issues such as a build break or regressionCritical issues such as a build break or regressiona: fidelityMatching the OEM platforms betterMatching the OEM platforms betterc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)customer: money (g3)engineflutter/engine repository. See also e: labels.flutter/engine repository. See also e: labels.platform-androidAndroid applications specificallyAndroid applications specifically
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
blasten commentedon Jun 25, 2021
@jiahaog any updates on this issue? Let me know if you want me to take a look, and go ahead with the PR.
xster commentedon Jun 25, 2021
One consideration to make though wrt #85139 is that it still can't make Android's first frame a correct measurement of Flutter's first frame, since Android's first frame will still be
[Flutter's first frame] + [time needed to jump from raster to main thread and get a next Android vsync] = [Android's first frame].
jiahaog commentedon Jun 28, 2021
Yes, I've started looking at it, will follow up with a PR soon
15 remaining items
jiahaog commentedon Jul 20, 2021
Update: Working on a PR for what was discussed above
jiahaog commentedon Jul 30, 2021
flutter/engine#27645 was rolled back in flutter/engine#27788 because it broke some devicelab tests.
Will investigate and try to reland
chinmaygarde commentedon Aug 2, 2021
@jiahaog flutter/engine#27811 seems to have landed. Can we close this issue?
blasten commentedon Aug 2, 2021
I think so
github-actions commentedon Aug 16, 2021
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -v
and a minimal reproduction of the issue.