# app startup

Published articles for app startup.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## The Android Startup Pattern: A Lifecycle-Aware, Multi-Module Approach

DevFeed: [The Android Startup Pattern: A Lifecycle-Aware, Multi-Module Approach](<https://devfeed.tech/articles/the-android-startup-pattern-a-lifecycle-aware-multi-module-approach-22950.md>)

Original publisher: [Read original article](<https://proandroiddev.com/the-android-startup-pattern-a-lifecycle-aware-multi-module-approach-d0f73e367a62?source=rss----c72404660798---4>)

Author: Ehab Elwan

Published: 2026-09-13T05:31:09Z

Content type: tutorial

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [app-startup](<https://devfeed.tech/tags/app-startup.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [framework](<https://devfeed.tech/tags/framework.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile-architecture](<https://devfeed.tech/tags/mobile-architecture.md>), [module](<https://devfeed.tech/tags/module.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>)

### AI overview

This tutorial presents a lifecycle-aware, dependency-injection-driven startup pattern for modular Android applications. It contrasts a centralized startup anti-pattern with Jetpack App Startup and discusses process lifecycles, testability, and delaying tracking SDK initialization until privacy consent is evaluated.

### Source excerpt

A Clean, DI-Driven Architecture for Managing Cold Starts, Background Wakeups, and Privacy Compliance in Modern Android Apps Image generated by AIDisclosure: This article was drafted by me and refined with the help of AI tools. Every growing Android project eventually spawns a two-headed "God Class." On one side, your Application class becomes a dumping ground for global infrastructure--third-party SDKs, crash reporters, and tracking tools. On the other side, your main entry point (typically the MainViewModel) gets choked with UI-blocking startup logic. It usually looks something like this: The Anti-Pattern: The Two-Headed God Class class MyApplication : Application() { override fun onCreate() { super.onCreate() // The framework dumping ground CrashReportingSDK.getInstance().setCollectionEnabled(true) HeavyUiSDK.initialize(context = this, ...) AnalyticsSDK.initialize(this, "API_KEY") // ... 50 more lines of spaghetti } }class MainViewModel : ViewModel() { init { // The UI-blocking dumping ground updateRemoteConfigs() checkUserSessionToken() processPendingDeepLinks() prefetchHomeFeedData() // ... UI cannot render until this finishes } } Splitting initialization across these two files creates major problems: It breaks the Single Responsibility Principle: The app's entry points are forced to orchestrate the inner workings of every single feature, tightly coupling your modules. It ignores process lifecycles: Application tasks run indiscriminately on every silent background wakeup, while MainViewModel tasks fail to re-trigger when the app returns to the foreground. It destroys testability: Hardcoding SDK initializations directly into your entry points makes it incredibly difficult to write isolated unit tests without complicated mocking setups. It complicates privacy compliance: A centralized dumping ground makes it extremely difficult to dynamically suspend tracking SDKs until user consent under global privacy regulations (such as GDPR, CCPA, and CPRA) is explicitly grant

## How Meetup Used Android Baseline Profiles to Reduce Cold Startup Time by 36%

DevFeed: [How Meetup Used Android Baseline Profiles to Reduce Cold Startup Time by 36%](<https://devfeed.tech/articles/from-snail-to-sonic-how-baseline-profiles-supercharged-meetup-s-android-app-23969.md>)

Original publisher: [Read original article](<https://medium.com/making-meetup/from-snail-to-sonic-how-baseline-profiles-supercharged-meetups-android-app-3a2f0670052e?source=rss----6981e268ba45---4>)

Author: Colin Lee

Published: 2023-07-19T19:26:13Z

Content type: article

Language: en

Sources: [Making Meetup - Medium](<https://devfeed.tech/sources/making-meetup-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [App](<https://devfeed.tech/topics/app.md>), [Google](<https://devfeed.tech/topics/google.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [app-development](<https://devfeed.tech/tags/app-development.md>), [app-performance](<https://devfeed.tech/tags/app-performance.md>), [app-startup](<https://devfeed.tech/tags/app-startup.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [google](<https://devfeed.tech/tags/google.md>), [google-i-o](<https://devfeed.tech/tags/google-i-o.md>), [meetup](<https://devfeed.tech/tags/meetup.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-app-development](<https://devfeed.tech/tags/mobile-app-development.md>), [mobile-app-performance](<https://devfeed.tech/tags/mobile-app-performance.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>)

### AI overview

Meetup integrated Android baseline profiles into its main app and measured a 36% improvement in best-case cold startup time on a Pixel 3, from 970ms to 620ms. The article explains that baseline profiles let the JVM pre-compile functions before they are needed, while noting that the business impact on conversion, retention, and revenue was not established.

### Source excerpt

As consumers, we've all been there -- you download a new app, launch it for the first time, and are frustrated by how long it takes to start up. If an app is sluggish at first launch, it leaves a bad first impression that's hard to overcome. At Meetup, we realized having slower apps was likely costing us users and revenue. So we implemented a simple change that cut our app's startup time by 36%, delivering a smoother experience that helps us to convert and retain users. And -- we did it without even writing much code. The Meetup mobile app, which now uses baseline profiles to start up to 36% faster Here's how we did it. Google recently introduced a technology called baseline profiles that optimizes Android apps for faster launch times. It allows the Java Virtual Machine (JVM) to pre-compile functions so they're ready before they're needed. As soon as it was announced at Google I/O 2022, I began adding baseline profiles to Meetup's Android apps. Recently, I conducted a benchmark test to measure the impact. The results were astounding. We integrated baseline profiles into our main Meetup Android app and saw best case cold app startup times on a Pixel 3 drop from 970ms to 620ms -- a 36% improvement. For app performance, a 36% improvement is remarkable. On a large refactoring initiative at a previous company, we were only able to achieve a 10% improvement in performance. Easy performance wins like baseline profiles don't come across your desk every day. This is what a baseline profile actually looks like before it is converted into binary For a more detailed understanding of baseline profiles, I recommend watching the Google video below. The takeaway for any mobile app business is clear. Your app startup experience shapes lasting first impressions. Is your app fast and friction-less or sluggish and buggy? Investing in performance optimizations like baseline profiles can deliver a big competitive advantage by creating smoother first-time user experiences. The result is high

## How Firebase Performance Monitoring optimized app startup time

DevFeed: [How Firebase Performance Monitoring optimized app startup time](<https://devfeed.tech/articles/how-firebase-performance-monitoring-optimized-app-startup-time-16429.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2022/03/how-firebase-performance-monitoring-optimized-app-startup-time>)

Author: Viswanathan Munisamy

Published: 2022-03-09T00:00:00Z

Content type: article

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [Android](<https://devfeed.tech/topics/android.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [App](<https://devfeed.tech/topics/app.md>), [Code](<https://devfeed.tech/topics/code.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app-quality](<https://devfeed.tech/tags/app-quality.md>), [app-startup](<https://devfeed.tech/tags/app-startup.md>), [article](<https://devfeed.tech/tags/article.md>), [code](<https://devfeed.tech/tags/code.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [measurement](<https://devfeed.tech/tags/measurement.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [network](<https://devfeed.tech/tags/network.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-monitoring](<https://devfeed.tech/tags/performance-monitoring.md>), [tool](<https://devfeed.tech/tags/tool.md>)

### AI overview

This article explains how Firebase Performance Monitoring measures Android application cold-start performance, including startup time, initial display, CPU and memory impact, and network requests. It describes the library's startup tasks and suggests comparing app versions with and without the library to measure its effect.

### Source excerpt

Mobile users expect their apps to be fast and responsive, and apps with a slow startup time, especially during coldstart, can leave them feeling...

## Reducing ANR errors in an Android application by investigating Application.onCreate and Firebase Cloud Messaging

DevFeed: [Reducing ANR errors in an Android application by investigating Application.onCreate and Firebase Cloud Messaging](<https://devfeed.tech/articles/anrs-2-23633.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/badoo/articles/539728/>)

Author: lukaville (Badoo)

Published: 2021-01-28T15:14:55Z

Content type: tutorial

Language: ru

Sources: [Badoo EN](<https://devfeed.tech/sources/badoo-en.md>), [Badoo RU](<https://devfeed.tech/sources/badoo-ru.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [anr](<https://devfeed.tech/tags/anr.md>), [app-startup](<https://devfeed.tech/tags/app-startup.md>), [cloud-messaging](<https://devfeed.tech/tags/cloud-messaging.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [google-play](<https://devfeed.tech/tags/google-play.md>)

### AI overview

This second part of a technical article examines ANR errors in an Android application. The authors found that about 60% of ANRs occurred during Application.onCreate and concluded that long execution, often involving Firebase Cloud Messaging, was likely the main cause.

### Source excerpt

В первой части статьи мы поговорили о том, что такое ANR (Application Not Responding), и рассмотрели несколько способов сбора информации об этих ошибках. А сегодня я расскажу о проблемах, которые мы обнаружили в нашем приложении, о том, как мы их исправляли и что из этого в итоге получилось. Время запуска приложения Первое, что можно сделать, чтобы уменьшить количество ANR-ошибок, -- попробовать найти самые частые причины их возникновения. Начать можно с консоли Google Play -- проанализировать самые большие группы ошибок. Читать далее