是否有必要在Asynctask中执行SQLite本地查询?

时间:2014-10-30 13:31:46

标签: android sqlite

我有疑问......我想执行此代码,但我不知道在Asynctask中执行此代码是否更好,或者它是否必要且我可以执行它在主要功能中..你怎么看?

SQLite数据库是本地的,因此访问速度非常快..谢谢!

/*Here I create an object of SQLiteHelper Class*/
        SQLiteHelper bbDD;
        bbDD = new SQLiteHelper(getActivity()); 

/* Calling this method I open the database connection */
        bbDD.open(); 

/* This method returns me an ArrayList, doing a SELECT in the SQLite Local Database*/
        arrayList = bbDD.selectAll(); 

/* Here I Close the database connection */
        bbDD.close();  

3 个答案:

答案 0 :(得分:1)

今天的设备足够快,可以在主UI线程中处理SQLite查询,但是当你尝试查询SQLite中的大数据时(例如,如果你在该数据库中有超过一百行的数据(特别是如果行包含base64)编码图像字符串))用户可以看到一些UI延迟,这就是为什么Asynctask中的查询使UI更快 - 没有滞后。如果SQLite中没有大数据,则无需使用AsyncTask进行查询。

答案 1 :(得分:0)

没有家伙没有必要在Asynctask中编写SQLite本地查询。

答案 2 :(得分:0)

您的问题的答案取决于数据库的大小

我有经验选择数百行,SQLite上有很多列。它不会使应用程序非常滞后,但它会使应用程序稍微滞后(并且我的客户可以感觉到这个)。因此,我将select操作移至onBackground类中的Async,并且应用程序再次运行完美。

如果您只有一些数据,则无需将其放在后台。