Browse Source

fix(live): 修复直播间退出时的资源清理和界面显示问题

- 退出房间时清空RTM消息避免内存泄漏
- 调整退出流程确保页面正确关闭后再隐藏小窗口
- 添加延迟处理防止界面显示异常
- 修复Get.back()调用时机确保页面正常返回
master
Jolie 2 months ago
parent
commit
36f028e46d
1 changed files with 12 additions and 3 deletions
  1. 15
      lib/widget/live/live_room_user_header.dart

15
lib/widget/live/live_room_user_header.dart

@ -138,11 +138,20 @@ class LiveRoomUserHeader extends StatelessWidget {
if (hasGuests) SizedBox(height: 15.w), if (hasGuests) SizedBox(height: 15.w),
GestureDetector( GestureDetector(
onTap: () async { onTap: () async {
SmartDialog.dismiss();
Get.back();
overlayController.hide();
await roomController.leaveChannel(); await roomController.leaveChannel();
// overlay // overlay
SmartDialog.dismiss();
// 退RTM消息
if (Get.isRegistered<RoomController>()) {
final roomController = Get.find<RoomController>();
roomController.chatMessages.clear();
}
// pop Get.back()
Get.back();
//
Future.delayed(const Duration(milliseconds: 200), () {
overlayController.hide();
});
}, },
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,

Loading…
Cancel
Save