From 36f028e46d9f614d8f90883d72daa509ec988da6 Mon Sep 17 00:00:00 2001 From: Jolie <412895109@qq.com> Date: Fri, 2 Jan 2026 23:30:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(live):=20=E4=BF=AE=E5=A4=8D=E7=9B=B4?= =?UTF-8?q?=E6=92=AD=E9=97=B4=E9=80=80=E5=87=BA=E6=97=B6=E7=9A=84=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E6=B8=85=E7=90=86=E5=92=8C=E7=95=8C=E9=9D=A2=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 退出房间时清空RTM消息避免内存泄漏 - 调整退出流程确保页面正确关闭后再隐藏小窗口 - 添加延迟处理防止界面显示异常 - 修复Get.back()调用时机确保页面正常返回 --- lib/widget/live/live_room_user_header.dart | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/widget/live/live_room_user_header.dart b/lib/widget/live/live_room_user_header.dart index e9fb077..bc325db 100644 --- a/lib/widget/live/live_room_user_header.dart +++ b/lib/widget/live/live_room_user_header.dart @@ -138,11 +138,20 @@ class LiveRoomUserHeader extends StatelessWidget { if (hasGuests) SizedBox(height: 15.w), GestureDetector( onTap: () async { - SmartDialog.dismiss(); - Get.back(); - overlayController.hide(); await roomController.leaveChannel(); // 隐藏 overlay + SmartDialog.dismiss(); + // 退出房间时清空RTM消息 + if (Get.isRegistered()) { + final roomController = Get.find(); + roomController.chatMessages.clear(); + } + // 如果还没有执行 pop,手动调用 Get.back() + Get.back(); + // 等待页面关闭后再显示小窗口,确保小窗口能正确显示 + Future.delayed(const Duration(milliseconds: 200), () { + overlayController.hide(); + }); }, child: Row( mainAxisAlignment: MainAxisAlignment.center,