Objective C コードと一緒に Mac Mac OS アプリケーションで実行されている多くの Lua スクリプトがあります。アプリケーションのメモリ フットプリントは、時間の経過とともに増加し続けています。したがって、collectgarbage
Lua スクリプトから定期的に関数を呼び出すことにしました。私はLuaを初めて使用するので、すべてのスクリプトで呼び出す必要があるのか 、スクリプトのいずれかから呼び出す必要があるのか わかりません。つまり、開いているすべてのLua状態からガベージを収集しますか、現在のルアファイル?
質問する
3462 次
2 に答える
2
メモリは、Lua のすべてのものと同様に、Lua ごとの状態です。異なる Lua 状態は完全に分離されており、ある Lua 状態で行われたことが別の状態の内容に影響を与える (直接的な) 方法はありません。
また、Lua は「スクリプト」が何であるかを本当に知りません。またはファイル。インタープリターがたまたま現在実行しているコードだけがあります。確かに、「スクリプト」ごとにメモリを追跡するわけではありません。
collectgarbage
したがって、可能なレベルで機能します。現在の Lua 状態からガベージを収集します。
于 2013-08-16T12:22:25.093 に答える