我有疑问......我想执行此代码,但我不知道在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();
答案 0 :(得分:1)
今天的设备足够快,可以在主UI线程中处理SQLite查询,但是当你尝试查询SQLite中的大数据时(例如,如果你在该数据库中有超过一百行的数据(特别是如果行包含base64)编码图像字符串))用户可以看到一些UI延迟,这就是为什么Asynctask中的查询使UI更快 - 没有滞后。如果SQLite中没有大数据,则无需使用AsyncTask进行查询。
答案 1 :(得分:0)
没有家伙没有必要在Asynctask中编写SQLite本地查询。
答案 2 :(得分:0)
您的问题的答案取决于数据库的大小。
我有经验选择数百行,SQLite上有很多列。它不会使应用程序非常滞后,但它会使应用程序稍微滞后(并且我的客户可以感觉到这个)。因此,我将select
操作移至onBackground
类中的Async
,并且应用程序再次运行完美。
如果您只有一些数据,则无需将其放在后台。