如何实现Unreal Engine 5.3.2 Android Activity与原生Activity的无缝切换及状态恢复

问题描述

在将UE5集成到现有Android应用时遇到以下核心问题:

  1. Activity切换机制:当UE应用主动停止时,如何正确返回到指定的原生Activity?
  2. 状态保留需求:切换回原生Activity时需要保持UE渲染线程存活(非强制重启)
  3. 生命周期冲突:原生Activity的onPause()/onResume()与UE的渲染线程控制不同步
  4. 内存管理异常:多次切换后出现Vulkan上下文丢失(错误代码VK_ERROR_DEVICE_LOST)

请求帮助

  1. 如何正确实现双Activity的Intent切换协议?
  2. 推荐的内存管理策略(纹理/渲染目标回收机制)
  3. Vulkan上下文恢复的最佳实践

期望可以给我们一个正常反复切换原生Activity与UEActivity的Demo,如果涉及到修改源码的话也请给出源码要修改的地方

重现步骤

Hi XinHao,

There have been significant changes to the Android lifecycle handling in 5.6 that may address this. However, in 5.3.2, it is possible that setting:

+CVars=r.Vulkan.DelayAcquireBackBuffer=1may address device loss.

Best regards.