数百のオブジェクト (画像) を処理しなければならないコードがありますが、77 回目のインスタンスの後、128 MB のメモリ制限にぶつかり、停止します。
オブジェクトの新しいインスタンスを返す静的呼び出しによってインスタンス化されたオブジェクト:
foreach($imags as $imageId)
{
$image = IMP::getById($imageId);
...
...
}
問題は、各ループの反復後にメモリが解放されないことです。以下に示すように、新しいイメージオブジェクトごとに非常に多くのメモリが消費されます。
メモリ使用量:
...
20971520
22282240
23855104
25427968
27000832
28573696
30408704
32243712
34078720
35913728
38010880
39845888
...
オブジェクトのメモリ空間を再利用する方法はありますか?