【问题标题】:In which is thread ContentProvider is running?ContentProvider 在哪个线程中运行?
【发布时间】:2014-08-13 04:18:24
【问题描述】:

我对女巫线程ContentResolver 是否正在运行感到困惑?

我有我的应用程序,并且我实现了ContentResolver 以从我的应用程序私有文件夹中获取其他应用程序的访问权限。

我重写了openFile 方法。这个方法是从我的应用程序主线程开始的吗?

【问题讨论】:

    标签: android multithreading android-intent


    【解决方案1】:

    所有 ContentProvider 都需要在自己的线程中运行,因为 ContentProviders 也可以被其他应用程序使用来读取/写入资源。就像联系人一样。

    【讨论】:

    • 您的意思是应用程序的主线程,其中ContentProvider 由“自己的线程”发起?还是您只是指使用此应用程序用户权限创建的任何线程?
    • 只需在你的 openFile 方法中调用 Log.d(TAG, "thread " + Thread.currentThread) ,你就会看到调用你的方法的线程
    【解决方案2】:

    openFile() 方法不在主线程上调用。它在某个工作线程上调用。这必须是线程安全的,因为它可以同时在多个线程上调用。

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      相关资源
      最近更新 更多