android - 是否应该在服务中调用内容解析器(即单独的线程)?

标签 android android-contentprovider

我正在学习更多有关 Android 中的内容提供程序及其性能的信息。例如,如果我为 SQLite 操作编写自己的内容提供程序(子类 ContentProvider),然后我想在 Activity 的 onPause() 方法中执行操作,那么在我的 Activity 中我会执行:

@Override
protected void onPause (){
    super.onPause();

    // ...prepare myTransactionValues

    // This could be anything like insert, bulkInsert, query, delete, etc.
    getContentResolver().insert(CONTENT_URI, myTransactionValues)
}

但是,看起来这个数据库操作是在主线程上完成的。工作是否在幕后的单独线程中完成?它应该在它自己的线程中吗?如果应该,是否有推荐的方法(也许是服务)?

最佳答案

如果你想在非 UI 线程中做一些事情,你通常应该使用 AsyncTask .另一方面,服务最适合长期任务。

关于android - 是否应该在服务中调用内容解析器(即单独的线程)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8392012/

相关文章:

android - 从 Content Provider 获取当前日期数据

Android内容提供者随机排序

android - 任务 ':app:transformClassesWithDexForDebug' 执行失败

c# - 如何使用 Embeddinator-4000 创建 .aar 文件

android - 如何直接播放/流式传输存储在 BLOB 中的视频

java - 如何使用 Content Provider 实现复杂的查询?

android - ContentProvider 不会出现在 Data & Synchronization 区域

android - 导入谷歌客户端依赖

android - 如何在 Android 中将菜单添加到按钮

java - 从 NavaigationDrawer 内的共享首选项获取电子邮件