ios開發使用for、while、do-while需要注意的地方

使用for、while、do-while循環遍歷數據量大的時候,出現內存使用率不斷增加有可能直至內存告警,APP被殺掉,因為在使用上述方法遍歷數組這個短暫的生命周期內,會產生大量的臨時內存,而這些臨時內存直至循環結束才釋放。解決方法如下

for(inti=0; i<1000000000; i++) {

@autoreleasepool{

int b=i;

NSLog(@"b:%d",b);

}

}

即將循環體里面放入自動釋放池里面。

例如,下面一段代碼就應該放在自動釋放池中

for (int i = 0; i < someLargeNumber; i++) {

NSString *string = @”Abc”;//常量區

string = [string lowercaseString];//新的堆區

string = [string stringByAppendingString:@"xyz"];//新的堆區

NSLog(@“%@”, string);

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 01-常量與變量 學習swift第一步打印Hello World print("Hello World") swi...
    iOS_恒仔閱讀 5,219評論 2 19
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,211評論 30 472
  • 1、截取字符串”20 | http://www.baidu.com”中,”|”字符前面和后面的數據,分別輸出它們 ...
    強子ly閱讀 3,026評論 8 46
  • 今天晚上兒子做作業前,我和他做了個新的約定。每天下午放學后回家先做完作業再吃飯,然后把所有的作業讓他給...
    吳靜作品閱讀 89評論 0 0