Android在UI线程上使用游标

时间:2012-08-01 00:50:28

标签: android android-sqlite android-contentprovider android-cursorloader

我想知道何时或是否可以使用游标从ui线程上的sqlite数据库获取数据。基本上我使用游标加载器来获取游标。然后我想用那个光标做点什么。是否可以使用主ui线程中的光标执行某些操作?真的我只需要从光标读取一行。

2 个答案:

答案 0 :(得分:3)

Cursor检索行并不是一项昂贵的操作...另一方面,查询数据库中的数据可能非常耗时,具体取决于您请求的数据量和/或查询的复杂性。 CursorLoaderCursor的异步查询,因此您的方法很好。

答案 1 :(得分:-2)

没关系。它不是网络操作。

编辑:通过"它可以"我的意思是Android 4.x不会强行关闭你的应用程序,就像在主线程上执行网络I / O一样。根据查询时间,可能会或可能不适合停止UI线程。对于"通过其主键从单个表中获取单行"一种查询,它完全没问题。对于需要一秒或更长时间的毛茸茸的查询,请考虑后台线程和进度对话框。