太多的UILabels与Unicode文本

我有一个iPad应用程序中的180个UILabelsUITableViewCells子视图),每个UILabel有155个宽度X 155高度,每个包含大量的Unicode文本(阿拉伯语),当我向下滚动TableView它会挂起1秒钟,然后保持正常滚动,这发生在用户的每次滚动尝试,并在iPAD2设备上进行testing。

但是,当我将文本更改为英文(也是大量英文文本)时, TableView不会正常挂起和滚动。

任何人有一个关于如何解决Unicode文本这个问题的想法?

非常感谢你提前。

编辑:

代码很大,以适应这里,所以简而言之,我创build每个UILabel像这样的循环: [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];cellForRowAtIndexPath方法中,然后根据界面方向在同一个方法中稍后使用框架进行播放,之后我将每个UILabel添加到这样的单元格中: [cell.contentView addSubView:myLabel]; 。 每个单元格包含这些'UILabels'中的4个,所以我总共有45个单元格,没有更多,直接简单的代码。

unicode的使用不应该成为这里的问题,因为它会以类似的速度渲染任何其他文本。

有可能是一些问题,减慢你的代码。 首先,您应该尝试使用UITableView的本地单元重用,将标签添加到UITableViewCell,然后将它们dequeueWithResusableIdentifier。 只有在该方法返回nil时才能生成标签,并且必须创build一个新的UITableViewCell(如果已经这样做,则不清楚原始问题)。

在这之后你可以做的另外一件事是确保尽可能多的视图不透明以加速合成。 仪器包括一个选项,使色彩不透明的视图更容易。

有很多方法可以优化你的代码:

一检查您的应用程序是否没有泄漏。 正确发布标签。 使用单元格的可重用性。 我不知道你是否在使用。 因为每次你滚动你的cellForRowAtIndexPath委托方法被调用。

如果您不知道可重用性,请尝试此链接。