票3createHogeの実装によっては、hogeにnullを代入しても参照を切れるとは限りません。以下のコードではhogeにnullを代入していますが、ページごと落ちます。1000);以下のようにcreateHogeでローカル変数に参照を持たないようにすると回避できそうですが、実験するとどうもうまく参照を切れていないようです。理由はよくわかりませんが、以下のコードも落ちます。1000);createHogeの修正が難しい場合もあるでしょうし、createHogeを呼び出している側からできるひとつの方法としては、以下のようにsetTimeoutなどの非同期な処理を挟むという方法があります。すると実際にはコールスタックが積まれていかないので、一見再帰呼び出しのように見えますが正常に完了できます。1000);なお、この方法では一度の呼び出しに最低でも数ミリ秒のウェイトがかかることになりますが、もっと短い時間で非同期処理を繰り返す特殊なテクニックもあります。個の銅バッジローカル変数に参照を持たなくても、スタックには積まれるので、スタックからの参照が残るのだと思います。null;とすればうまく参照が切れるのではということです。この参照を切るために、強いて形をなるべく変えずに修正すると次のようなコードになります(アプローチとしてはeripongさんの示されている回答と同じです)。1000);bufferを要素数1の配列とし、この配列の第1要素に本来渡したいオブジェクト(大容量オブジェクト)をセットします。この配列を引数として渡せば、呼び出し先で大容量オブジェクトの参照を切ることができます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。