# AppInitializer

Artifact: [androidx.startup:startup-runtime](https://developer.android.com/jetpack/androidx/releases/startup) [View Source](https://cs.android.com/search?q=file:androidx/startup/AppInitializer.java+class:androidx.startup.AppInitializer) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/startup#1.0.0)

*** ** * ** ***

<br />

```
class AppInitializer
```

<br />

*** ** * ** ***

An `https://developer.android.com/reference/kotlin/androidx/startup/AppInitializer` can be used to initialize all discovered `ComponentInitializer`s. The discovery mechanism is via `<meta-data>` entries in the merged `AndroidManifest.xml`.

## Summary

| ### Public functions |
|---|---|
| `java-static https://developer.android.com/reference/kotlin/androidx/startup/AppInitializer` | `https://developer.android.com/reference/kotlin/androidx/startup/AppInitializer#getInstance(android.content.Context)(context: https://developer.android.com/reference/android/content/Context.html)` |
| `T` | `<T> https://developer.android.com/reference/kotlin/androidx/startup/AppInitializer#initializeComponent(java.lang.Class<? extends androidx.startup.Initializer<T>>)(component: https://developer.android.com/reference/java/lang/Class.html<https://developer.android.com/reference/kotlin/androidx/startup/Initializer<T!>!>)` Initializes a `https://developer.android.com/reference/kotlin/androidx/startup/Initializer` class type. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/startup/AppInitializer#isEagerlyInitialized(java.lang.Class<? extends androidx.startup.Initializer<?>>)(component: https://developer.android.com/reference/java/lang/Class.html<https://developer.android.com/reference/kotlin/androidx/startup/Initializer<*>!>)` Returns `true` if the `https://developer.android.com/reference/kotlin/androidx/startup/Initializer` was eagerly initialized.. |

## Public functions

### getInstance

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/startup#1.0.0)

```
java-static fun getInstance(context: Context): AppInitializer
```

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html` | The Application `https://developer.android.com/reference/android/content/Context.html` |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/startup/AppInitializer` | The instance of `https://developer.android.com/reference/kotlin/androidx/startup/AppInitializer` after initialization. |

### initializeComponent

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/startup#1.0.0)

```
fun <T> initializeComponent(component: Class<Initializer<T!>!>): T
```

Initializes a `https://developer.android.com/reference/kotlin/androidx/startup/Initializer` class type.

| Parameters |
|---|---|
| `<T>` | The instance type being initialized |
| `component: https://developer.android.com/reference/java/lang/Class.html<https://developer.android.com/reference/kotlin/androidx/startup/Initializer<T!>!>` | The `https://developer.android.com/reference/java/lang/Class.html` of `https://developer.android.com/reference/kotlin/androidx/startup/Initializer` to initialize. |

| Returns |
|---|---|
| `T` | The initialized instance |

### isEagerlyInitialized

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/startup#1.0.0)

```
fun isEagerlyInitialized(component: Class<Initializer<*>!>): Boolean
```

Returns `true` if the `https://developer.android.com/reference/kotlin/androidx/startup/Initializer` was eagerly initialized..

| Parameters |
|---|---|
| `component: https://developer.android.com/reference/java/lang/Class.html<https://developer.android.com/reference/kotlin/androidx/startup/Initializer<*>!>` | The `https://developer.android.com/reference/kotlin/androidx/startup/Initializer` class to check |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `true` if the `https://developer.android.com/reference/kotlin/androidx/startup/Initializer` was eagerly initialized. |