首页 文章

每次达到特定活动时完全重新启动活动

提问于
浏览
0

我有一个 activity ,有一些非常复杂的第三方逻辑处理视频和音频 .

所有这些第三方设置都有令人费解的设置,具有不同的回调和服务器请求 .

现在,从这个 activity ,用户可以远离它 .

当用户按下时,我希望我的 activity 恢复,好像它只是一个新的 activity 正在启动 . (所以基本上我宁愿所有我的第三方的东西经历整个生命周期,而不是做恢复逻辑,这对我来说很难维持)

有没有办法让这个特定的 activity 始终重启?而不是只是在导航时恢复?

我想每当我离开它时我都可以 finish() 我的活动,当用户回去时,明确地启动它买 startActivity() ;

但还有其他方法吗?我的活动只需要1个额外的String for bundle .

1 回答

  • 1

    在运行时,活动堆叠在一起,因此只要活动A启动的活动B处于活动状态,活动A就会保留在内存中 .

    您可以为活动A调用 finish() 并从A 's parent, and when B is being closed - relaunch A from the same parent, but that'启动活动B只是不好的做法并扭曲应该使用的活动方式 . 您还可以使用recreate()方法创建活动的干净实例,这样会更好 .

    但是,我的观点是,一般来说,BP解决方案将处理Activity A的生命周期事件,并使用与第三方相关的类,MVP模式等处理您的第三方lib .

相关问题