Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

ヒープ制限に対応する適切な apex スクリプトを構築する

公開日: Oct 13, 2022
説明
※この記事は英語版を翻訳しており、一部機械翻訳を含むため内容は後日更新される可能性があります。最新の内容は英語版を参照してください。表示言語は画面右下の言語名から切り替えられます。

ヒープ制限内で動作する Apex スクリプトの書き方に関するいくつかの戦略。
解決策
1.デバッグログでヒープサイズを探します。ヒープサイズが限界に近づいている場合は、それを調査してコードをリファクタリングします。

2.変数で一時的なキーワードを使用します。これは、保存できないインスタンス変数を宣言するために使用されます。また、Visualforce ページのビューの状態の一部としては送信できません。

3.Limit メソッドを使用します。Apex コードでヒープ制限メソッドを使用し、実行中にヒープを監視/管理します。
  • Limits.getHeapSize() - 現在のコンテキストでヒープに使用されているおおよそのメモリ量 (バイト) を返します。
  • Limits.getLimitHeapSize() - 現在のコンテキストでヒープに使用できるメモリの総量 (バイト) を返します。
// check the heap size at runtime 
if (Limits.getHeapSize > 275000) {
      // implement logic to reduce
}

 

4.反復時にコレクションから項目を削除することで、ランタイム時にヒープサイズを削減します。

5.ループに SOQL を使用します。ヒープサイズの制限を避けるために、開発者は常に SOQL の「for」ループを使用して、多くのレコードを返すクエリ結果を処理する必要があります。

Running Apex within Governor Execution Limits
SOQL For Loops

ナレッジ記事番号

000385712

 
読み込み中
Salesforce Help | Article