我正在使用一个连接 sqlite db 的简单 TableViewController 应用程序。不幸的是,第一次搜索(通过搜索栏)有点慢,但仅限于第一次调用时。在第一次查询后,即使我关闭应用程序并重新打开它仍然顺利,所有内容都会顺畅运行。
如果我通过“ios任务管理器”退出并重新打开它,则第一次搜索再次变慢。
我认为这不取决于数据库导致正在进行的查询没问题。我猜它有......与细胞或初始化有关。在tableview中。目前我正在为单元格使用nib文件。然后我将其改为使用单元格的程序化方式 - 仍然没有变化。
如果我以“select * from ..”开始启动应用程序并显示结果,那么以下搜索也是顺利的。
有没有人对此类行为有任何意见?
答案 0 :(得分:0)
我将查看您连接数据库的方式,因为问题仅在第一次搜索时出现。您还可以记录您的方法,以检查哪种方法花费如此昂贵。示例
NSLog(@"%f",[NSDate timeIntervalSinceReferenceDate] * 1000);
在每个方法的开头和结尾。
答案 1 :(得分:0)
在我的情况下,这是因为tableview正在从数组加载单元格。
我做了“假装”
tableView.hidden = YES;
for (int i = 0; i < 200; i++)
{
array addObject..
}
[tableView reloadData];
然后在0.1秒后
[array removeAllObjects];
[tableView reloadData];
tableView.hidden = NO;