0

*强文本* 在 iOS 6.1.2 中显示 UIAlertView 时,应用程序会出现如下内存泄漏:

__NSDictionaryM 1   0x1e5c6000  32 Bytes    TextInput   __92-[TIResourcePathManager     fetchAssetsWithNames:forInputModes:updatingDictionary:continuation:]_block_invoke_0
Malloc 16 Bytes 1   0x1e5d5320  16 Bytes    TextInput   __92-[TIResourcePathManager   fetchAssetsWithNames:forInputModes:updatingDictionary:continuation:]_block_invoke_0

如下代码,

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    if (indexPath.row == 1 && indexPath.section == 1) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test" message:nil delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
        [alert show];
        [alert autorelease];
}

所以为什么?

PS。可能我忘了说这个 UIAlertView 可能会一个一个显示很多次,所以有时候第一次显示 UIAlertView 还可以,但是当我尝试几次时,就会发生内存泄漏。

4

1 回答 1

1

代替:

[alert autorelease];

和:

[alert release];

于 2013-03-22T10:12:50.373 回答