この質問はモバイルアプリケーションには直接発生しません。私はアンドゥとリドゥ機能のためのコマンドパターン関連の構造を作成する必要がありました。私が持つコマンドには、AddStrokeCommand、RemoveStrokeCommand、ClearAllCommandがあります。それぞれは元に戻すことができます。C#:オブジェクトの複雑なリストを別のクラスに渡すとたくさんのメモリが必要になる
インターフェイスには、ExecuteとUnExecuteを持つICommandが必要です。私のコードの
例:
public class AddStrokeCommand : ICommand
{
public event EventHandler CanExecuteChanged;
public ObservableCollection <Stroke> Strokes { get; set;}
public AddStrokeCommand (ObservableCollection<Stroke> strokes) {
Strokes = strokes;
}
public bool CanExecute(object parameter)
{
throw new NotImplementedException();
}
public void Execute(object parameter)
{
Strokes.Add((Stroke) parameter);
}
public void UnExecute()
{
Strokes.Remove((Stroke) parameter);
}
}
アプリケーション自体が注釈を付けることができる多くのページを示しているので、各ページに描かれたストロークの多くを有することができます。私がすべてのコマンドオブジェクトにストロークを渡した場合、それは多くのメモリを使用するでしょうか?より良い選択肢がありますか?
あなたはリストを渡していません。リストを指す参照を渡すだけです。 – InBetween
あなたには記憶上の問題があることが分かるまで、心配する必要はありません。あなたがしなければならないことは、少しのメモリプロファイリングですが、私は大量のメモリを使うのに苦労していると感じています。 – Enigmativity
私はあなたがそれを試して、それを修正しようとする前に解決すべき問題があるかどうかを知る必要があると思います。 – user1666620