From fafbabd603b99c498737d1f5722bb12dc8245a87 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Sat, 18 Oct 2025 18:42:29 +0800 Subject: [PATCH] =?UTF-8?q?improve:=E6=B8=85=E7=A9=BA=E5=A2=A8=E8=BF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow_cs/MW_BoardControls.cs | 23 ++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_BoardControls.cs b/Ink Canvas/MainWindow_cs/MW_BoardControls.cs index 408700c9..e80e1de8 100644 --- a/Ink Canvas/MainWindow_cs/MW_BoardControls.cs +++ b/Ink Canvas/MainWindow_cs/MW_BoardControls.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; @@ -120,15 +121,29 @@ namespace Ink_Canvas _currentCommitType = CommitReason.ClearingCanvas; if (isErasedByCode) _currentCommitType = CommitReason.CodeInput; - - - // 只清除笔画,不清除图片元素 - // 图片元素的清除由调用方决定 inkCanvas.Strokes.Clear(); + // 执行内存清理 + PerformLightweightMemoryCleanup(); + _currentCommitType = CommitReason.UserInput; } + /// + /// 执行内存清理 + /// + private void PerformLightweightMemoryCleanup() + { + + // 异步执行垃圾回收,避免阻塞UI + Task.Run(() => + { + // 延迟执行垃圾回收,避免立即阻塞 + Thread.Sleep(100); + GC.Collect(); + }); + } + // 恢复每页白板图片信息 private void RestoreStrokes(bool isBackupMain = false) {