始终从AsyncTask访问SQLiteDatabase是否有必要甚至是好的做法?
从UI线程执行此操作似乎不会导致任何问题,并且实现起来要简单得多。
答案 0 :(得分:4)
这是一个很好的做法。数据库操作并不总是很快,因此Android建议在后台线程(AsyncTask,Runnable等)上执行所有数据库和网络操作。
答案 1 :(得分:4)
建议不要从主应用程序线程执行IO,但是,不必须使用AsyncTask
来完成。
您还有其他选项可以退出主线程,其中一些选项包括Loader Framework,IntentService和Executors。
答案 2 :(得分:3)
不,没有必要总是在另一个线程中访问您的数据库。这取决于需要多长时间。通常读/写速度快,不会减慢UI速度,也不需要其他线程。但是,当执行像清理等冗长的操作时,是的,在另一个线程中执行它们是个好主意。