Content Provider 的 onCreate 在我尝试访问它之前被调用

问题描述 投票:0回答:1

根据 官方文档

Content Provider 的 onCreate() 方法在 Android 创建 Provider 后立即被系统调用调用。并且,由于在 ContentResolver 对象尝试访问提供程序之前不会创建该提供程序。 在我尝试使用 contentResolver 访问它之前,我的 onCreate 是如何被调用的? (注意:我什至没有访问提供者,但它的 onCreate 仍然被调用)

android android-contentprovider
1个回答
0
投票

您链接到的

Provider.onCreate()
的文档明确指出

实现此功能以在启动时初始化您的内容提供程序。这 为所有注册的内容提供商调用方法 应用程序启动时的应用程序主线程。

因此 Android 将在应用程序启动时立即调用所有内容提供商的

onCreate()

。显然,在实例化内容提供程序之前,它无法调用 
onCreate()
,因此这意味着应用程序启动后,Android 将立即实例化所有内容提供程序并在所有内容提供程序上调用 
onCreate()

您的应用程序必须适当处理此问题。

© www.soinside.com 2019 - 2024. All rights reserved.