【问题标题】:When is a ContentProvider really created?ContentProvider 是什么时候真正创建的?
【发布时间】:2010-08-14 15:25:35
【问题描述】:

我有一个在 Manifest 中声明的 ContentProvider,它是什么时候真正创建的?当应用程序启动但在启动第一个活动之前?第一次查询/更新/插入何时完成?什么时候?

【问题讨论】:

    标签: android android-contentprovider


    【解决方案1】:

    来自http://developer.android.com/reference/android/content/ContentProvider.html#onCreate()

    实现这一点以在启动时初始化您的内容提供程序。在应用程序启动时,为应用程序主线程上的所有注册内容提供程序调用此方法。它不能执行冗长的操作,否则应用程序启动会延迟。

    【讨论】:

    • 这符合我的经验 - onCreate() 在应用启动时被调用,远在执行任何查询/插入/更新之前。
    • 好的,那么它什么时候启动呢?在 BOOT_COMPLETED...?
    【解决方案2】:

    当第一次查询/更新/插入完成时。检查this

    更新:android 文档在这方面是无效的。这里描述了有效的行为https://stackoverflow.com/a/11858493/657487

    应用启动时创建的ContentProvider。所以,让 onCreate() 轻量级可能是明智之举

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-24
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多