---
metadata:
  - name: generator
    content: Diplodoc Platform v5.64.0
alternate:
  - https://appmetrica.yandex.com/docs/en/sdk/android/analytics/android-features.md
  - https://appmetrica.yandex.com/docs/ru/sdk/android/analytics/android-features.md
  - https://appmetrica.yandex.com/docs/zh/sdk/android/analytics/android-features.md
  - href: https://appmetrica.yandex.com/docs/zh/sdk/android/analytics/android-features.md
    type: text/markdown
    title: Markdown version
  - href: https://appmetrica.yandex.com/docs/zh/llms.txt?revision=r21920615
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://appmetrica.yandex.com/docs/zh/llms.txt?revision=r21920615

# 库的工作原理 AppMetrica

该 AppMetrica 库由两部分组成：客户端和服务端。 在初始化过程中应考虑它们的功能：

- Client part: 预先验证数据并将其传输到服务部分。 应用程序中的每个进程都会创建客户端部分的一个实例。

- Service part: 它负责存储数据并将其发送到服务器。 该服务在主应用程序进程中运行。 因此 AppMetrica SDK 将崩溃报告保存到文件中，并在下次运行时发送。

## 初始化的建议 {#recommendations}

- 如果应用程序有多个进程需要使用AppMetrica，请为每个进程使用相同的配置初始化库。 否则，配置可能会取决于哪个进程先启动。

   {% note info "" %}

   您可以使用报告器发送数据。 它们可以用不同的配置进行初始化。 要了解更多信息，请参见[将统计数据发送到额外的 API 密钥](https://appmetrica.yandex.com/docs/zh/sdk/android/analytics/android-operations.md#reporter-different-apikey)。

   {% endnote %}

- 在 [Application.onCreate()](https://developer.android.com/reference/android/app/Application.html#onCreate%28%29) 方法中初始化 AppMetrica 库。 因此，库将在每个进程中进行初始化。

- 请注意，[ContentProvider](https://developer.android.com/intl/ru/reference/android/content/ContentProvider.html) 实例是在 [Application](https://developer.android.com/intl/ru/reference/android/app/Application.html) 实例创建之前创建的。 如果你在 `Application.onCreate()` 方法中初始化库，就无法从 `ContentProvider.onCreate()` 方法发送数据。

- 不要将代码添加到`Application.onCreate()`方法中，该方法不应执行多次。 在创建其他组件时运行此代码，或在单独的[服务](https://developer.android.com/intl/ru/reference/android/app/Service.html)中运行它。

- 在 `Application.onCreate()` 方法中避免执行长时间操作，也不要在其中初始化其他库。 该方法的执行时间会直接影响第一个`Activity`、`Service`或`Receiver`的打开速度。

## 了解更多 {#learn-more}

<!-- - [Пример интеграции библиотеки ССЫЛКА НУЖНА](ССЫЛКА) -->
- [如何启用发送用户位置？](https://appmetrica.yandex.com/docs/zh/troubleshooting/troubleshooting.md#region)
- [如何确保已安装最新版本的Android库？](https://appmetrica.yandex.com/docs/zh/troubleshooting/troubleshooting.md#newest-android-version)
- [为什么报告中没有显示新的安装？](https://appmetrica.yandex.com/docs/zh/troubleshooting/troubleshooting.md#no-installs)

<!-- source: zh/_includes/feedback-button-3.md -->
如果您没有找到所需答案，可以通过反馈表单提交您的问题。 请尽可能详细地描述问题。 如果可能，请附上截图。

<a href="../troubleshooting/feedback-new">
  <span class="button">联系支持</span>
</a>

<a href="../troubleshooting/feedback-docs">
  <span class="button">为文档提出改进建议</span>
</a>
<!-- endsource: zh/_includes/feedback-button-3.md -->
