文章出處
文章列表
有一種情況:
for (int i = 0; i < 1000000000; i++) { NSString *s = @"ABC"; s = [s lowercaseString]; s = [s stringByAppendingString:@"ac"]; NSLog(@"%@", s); }
運行, 內存暴漲!!!!!!
這情況下, 給循環體里面的操作加一個 釋放池 即可
for (int i = 0; i < 1000000000; i++) { @autoreleasepool { NSString *s = @"ABC"; s = [s lowercaseString]; s = [s stringByAppendingString:@"ac"]; NSLog(@"%@", s); } }
即每次執行完之后, 系統會自動幫我們立即釋放, 這就不會使內存暴漲了
每一百次就釋放:
文章列表
全站熱搜