Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: changes to try to improve app startup and ANRs [WPB-6048] #2597

Closed
wants to merge 2 commits into from

Conversation

saleniuk
Copy link
Contributor

@saleniuk saleniuk commented Jan 19, 2024

BugWPB-6048 [ANR][Android] com.wire.android.ui.WireActivity.onCreate


PR Submission Checklist for internal contributors

  • The PR Title

    • conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
    • contains a reference JIRA issue number like SQPIT-764
    • answers the question: If merged, this PR will: ... ³
  • The PR Description

    • is free of optional paragraphs and you have filled the relevant parts to the best of your ability

What's new in this PR?

Issues

There is a most frequent ANR related to the installSplashScreen and happens when launching the app and the app startup on some devices can take even many seconds.

Solutions

Number of small things that will hopefully speed up the launch and reduce number of ANRs or at least help us better investigate it:

  • fix datadog logger builder
  • provide logs for app startup (initialisations that happens in onCreate in WireApplication and WireActivity)
  • add "App startup" jetpack library and make it so that Firebase and WorkManager is initialised this way
  • run some init actions on coroutine
  • wrap some injected elements in Lazy so that they are initialised only when needed not on the main thread
  • bring back the splashscreen logo for Androids up to 12

Testing

How to Test

Launch the app.


PR Post Submission Checklist for internal contributors (Optional)

  • Wire's Github Workflow has automatically linked the PR to a JIRA issue

PR Post Merge Checklist for internal contributors

  • If any soft of configuration variable was introduced by this PR, it has been added to the relevant documents and the CI jobs have been updated.

References
  1. https://sparkbox.com/foundry/semantic_commit_messages
  2. https://github.com/wireapp/.github#usage
  3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.

Copy link
Contributor

Test Results

703 tests   703 ✅  13m 49s ⏱️
 99 suites    0 💤
 99 files      0 ❌

Results for commit 1a85640.

Copy link
Contributor

APKs built during tests are available here. Scroll down to Artifacts!

@AndroidBob
Copy link
Collaborator

Build 2646 succeeded.

The build produced the following APK's:

@saleniuk saleniuk marked this pull request as draft January 19, 2024 10:01
@saleniuk saleniuk changed the base branch from release/candidate to release/cycle-4.5 January 22, 2024 12:58
@saleniuk saleniuk closed this Jan 22, 2024
@saleniuk saleniuk deleted the fix/app-startup-ANRs branch January 23, 2024 15:45
@echoes-hq echoes-hq bot added the echoes: technical-roadmap Work contributing to the Technical Roadmap, to improve our velocity or reduce the technical debt. label Aug 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
echoes: technical-roadmap Work contributing to the Technical Roadmap, to improve our velocity or reduce the technical debt. size/S
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants