gpt4 book ai didi

android - Activity 的后台线程和配置更改

转载 作者:行者123 更新时间:2023-11-29 22:05:31 25 4
gpt4 key购买 nike

我在 Stack Overflow 上看到了一些与使用 Activity.onRetainNonConfigurationInstance() 维护由一个 Activity 实例启动的后台线程并将其传递给 Activity 的下一个实例相关的讨论,例如,当手机的方向从纵向变为横向。

讨论没有具体说明包装在从 onRetainNonConfigurationInstance() 返回的对象中的线程可以做什么。

例如:1.有没有办法使用这种技术实际保持后台线程运行?2. 您是否需要在先前的 Activity 实例消失时以某种方式暂停线程,然后在新实例中重新启动它?

谁能提供一个简短的例子?

如有任何详细信息,我们将不胜感激。

最佳答案

您可以将任何您想要的内容返回给 onRetainNonConfigurationInstance()。如果您有一个要从 Activity 的一个实例传递到另一个实例的线程,您可以直接返回它,或者将它放在从 onRetainNonConfigurationInstance() 返回的另一个对象中。您不需要暂停线程或以任何方式与其交互。它只是继续运行,就好像什么都没发生过一样。

您唯一需要关心的是线程如何与 Activity 交互(如果有的话)。如果线程将回调 Activity(以指示进度或类似的东西),那么您需要以某种方式为线程提供对新 Activity 的引用,因为旧 Activity 将死掉。

您想在后台线程中做什么?

编辑(添加有关线程/Activity 的更多详细信息):

线程有自己的生命周期,与 Activity 完全分离。如果您在 Activity 中创建一个 Thread 并启动它,那么无论您的 Activity 做什么,它都会运行到完成。唯一会显式停止线程的是 Android 决定终止您的进程(如果您的进程不包含 Activity Activity ,它可能会这样做)。

关于android - Activity 的后台线程和配置更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10853049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com