【Salesforce】System.LimitException: Apex heap size too large:

【Salesforce】System.LimitException: Apex heap size too large:

Salesforceで大量のデータを扱う際に、エラーが発生しました。

System.LimitException: Apex heap size too large:

ヒープサイズが大きすぎるとのことです。

https://developer.salesforce.com/docs/atlas.ja-jp.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_apexgov.htm

最大値は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:"

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です