[Fireperf][Fixit] Change AppStartTrace from singleton to normal object #4186
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
b/251844673
De-singleton
AppStartTrace. This is the lowest hanging fruit since it only has one single dependee.Side effect / additional benefit
De-singletoning this hides
AppStartTrace.getInstance()from customers. That is an undocumented and unsupported API, and customers can technically mess with it and call methods they are not supposed to call. This PR makes it impossible for customers to call its method and break app-start trace in unexpected ways.Analysis: Object Lifetime (is it safe to de-singleton
AppStartTrace?)TLDR: yes, because Android platform's

Applicationwill hold a reference to AppStartTrace until the trace completes.