2

Objective C コードと一緒に Mac Mac OS アプリケーションで実行されている多くの Lua スクリプトがあります。アプリケーションのメモリ フットプリントは、時間の経過とともに増加し続けています。したがって、collectgarbageLua スクリプトから定期的に関数を呼び出すことにしました。私はLuaを初めて使用するので、すべてのスクリプトで呼び出す必要があるのか​​ 、スクリプトのいずれかから呼び出す必要があるのか​​ わかりません。つまり、開いているすべてのLua状態からガベージを収集しますか、現在のルアファイル?

4

2 に答える 2

2

メモリは、Lua のすべてのものと同様に、Lua ごとの状態です。異なる Lua 状態は完全に分離されており、ある Lua 状態で行われたことが別の状態の内容に影響を与える (直接的な) 方法はありません。

また、Lua は「スクリプト」が何であるかを本当に知りません。またはファイル。インタープリターがたまたま現在実行しているコードだけがあります。確かに、「スクリプト」ごとにメモリを追跡するわけではありません。

collectgarbageしたがって、可能なレベルで機能します。現在の Lua 状態からガベージを収集します。

于 2013-08-16T12:22:25.093 に答える