1

我正在开发一个带有连接sqlite db的简单TableViewController应用程序。不幸的是,第一次搜索(通过搜索栏)有点慢,但仅在第一次调用期间。第一次查询后一切运行顺利,即使我关闭应用程序并重新打开它 - 仍然很顺利。

如果我通过“ios 任务管理器”退出并重新打开它,第一次搜索又会变慢。

我认为这不取决于数据库,因为正在进行的查询没问题。我猜它有什么。与细胞或某事物的初始化有关。在表格视图中。目前我正在为单元格使用 nib 文件。然后我将其更改为使用单元格的编程方式 - 仍然没有变化。

如果我以“select * from ..”开始应用程序并显示结果,那么下面的搜索也很顺利。

有人对这种行为有任何意见吗?

4

2 回答 2

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;
于 2013-10-25T12:31:18.743 回答
0

我将查看您连接到数据库的方式,因为问题仅在第一次搜索时出现。您还可以记录您的方法,以检查哪种方法花费您如此昂贵。例子

NSLog(@"%f",[NSDate timeIntervalSinceReferenceDate] * 1000); 

在每个方法的开头和结尾。

于 2013-01-26T16:12:24.633 回答