我想在 Activity
暂停时保存一些数据。我正在使用我自己的 ContentProvider
,由 SQLite 数据库支持。
比方说,执行实际保存的方法如下所示:
public void saveData() {
//perform operations over ContentProvider in current thread
}
问题是:在onPause
(使用新线程)中调用这个方法是否安全?
public void onPause() {
super.onPause();
new Thread(new Runnable() {
public void run() {
saveData();
}
}).start();
}
或者我应该启动一个新的 Service
来在后台完成这项工作吗?或者也许有更可靠的方法来确保数据已保存?
最佳答案
您可以尝试使用绑定(bind)的后台服务(更好的是,将您的 Content Provider 包裹起来)。这将使它独立于 Activity 状态,只需随时向您的提供者服务发布获取/保存请求。
关于android - 通过 ContentProvider 完成操作的可靠方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15068095/