【Salesforce】System.LimitException: Apex heap size too large:
Salesforceで大量のデータを扱う際に、エラーが発生しました。
System.LimitException: Apex heap size too large:
ヒープサイズが大きすぎるとのことです。
最大値は1トランザクションで6M、非同期処理で12M、メールサービスでは36Mだそうです。
メールサービスが大きいのは添付ファイルの絡みですかね。
開発者コンソールで実験してみましたが、6Mでも12Mでも出ませんでした。
どれくらいで出るかを試してみたソースです。
List<String> strList;
String baseString;
baseString = 'あ';
for(Integer i = 0; i < 20; i++){
baseString += baseString;
}
// 20:1048576
system.debug('【ログ】' + baseString.length());
strList = new List<String>();
for(Integer i = 0; i < 50; i++){
String str;
str = baseString + '';
strList.add(str);
}
2回目のループでやっとエラーが出ました。
開発者コンソールでは50Mまでいけるのでしょうか?
System.LimitException: Apex heap size too large: 51381533
修正は処理を分割して解決することになりそうです。
One Response to "【Salesforce】System.LimitException: Apex heap size too large:"