テキスト/画像/データファイルの保存されていない変更を検出するための3つの方法は、次のように思われます。
ユーザーが変更または保存するたびにブールフラグを更新します。これにより、多くの不要な更新が発生します。
元のファイルのキャッシュされたコピーを保持し、保存操作をチェックする必要があるたびに2つを比較します。
過去のすべての操作と必要に応じてプッシュ/ポップ操作のスタックを保持すると、多くの余分なメモリ使用量が発生します。
一般に、商用アプリケーションは、保存されていない変更が存在するかどうかをどのように検出し、各アプローチの長所/短所は何ですか?特別な保存動作を持つカスタムアプリケーションを作成しているときにこの問題が発生し、既知のベストプラクティスがあるかどうかを知りたいと思います。