我的应用程序有一个相当大的数据库,尤其是一个表 - 它有200万个实体。在下一个应用程序版本中,我们正在做一个巨大的更新 - 删除其中一列,并用另一个替换它。对于最大的桌子,这需要13秒。Android数据库onUpgrade阻止UI线程
问题是,即使我已经把这个更新放在后台线程中(仍然是在SQLLiteDatabase的onUpgrade方法中),它仍然会阻塞UI线程并导致android os弹出窗口出现 - 提示要么杀死该应用程序或等待。 onUpgrade方法是否实际阻塞UI线程,或者我做错了什么?
您的代码中存在一个错误。请发布后台线程的设置和调用部分。 – laalto