Unityにて開発をしています。
私はWolfRPGEditorからゲーム開発に入ったので、できるだけ上から下に流すようなプログラムがしたいと思っており、
すべてのクラスにコルーチンを用意して、それをシーンに一つだけ存在するシーンマネージャーで呼び出していくような形にしようと思ってるのですが、
その際に呼び出す別クラスのメソッドをシングルトンでインスタンスを生成して呼び出すべきか、
public class Test { public static IEnumerator Main() { //ここに処理 yield break; } }
上のように書いて、これをyield return Test.Main();のように呼び出して使ってもいいものかで悩んでいます。
なぜ悩んでいるかと言うと、static変数はプログラム実行時にメモリ領域を食べるというのを読んだからです。
ただ、staticなメソッドについての詳しい挙動が書かれてるものがなかったので、
staticなメソッドがプログラム実行時にメモリ領域をどのように確保するのかも知りたいです。
メソッドの中のローカル変数ごとメモリを食うのでしょうか?
それともメソッドの参照みたいなのがメモリに渡されてメモリ領域一個で済むみたいな感じなのでしょうか?
あとやはりstaticなもの(変数とかメソッドとかクラスとか)が多いと重くなったりするんでしょうか?
食べるは食べるけど、1000個くらいのstaticメソッド程度ではあまり影響がなかったりするんでしょうか?
初の質問で不備などあるかもしれませんが、よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー