Java 处理加载活动线程的最佳实践

Java 处理加载活动线程的最佳实践,java,android,android-activity,worker-thread,Java,Android,Android Activity,Worker Thread,我有一个活动,在工作线程加载我的游戏时显示加载屏幕。加载工作线程时,会更新活动上的textview以显示其当前状态。完成后,它将关闭加载活动并开始实际的游戏活动。 工作线程是在onCreate()方法中创建的,并被赋予一个新创建的处理程序 但是,当活动被销毁并重新启动时(例如通过方向更改),会发生什么情况?IMHO onCreate()方法将在第一个工作线程仍在加载时创建一个新的工作线程,因此现在有多个工作线程执行相同的操作 防止这种情况并将新活动通知工作线程(以便它可以发布其状态更新)的最佳方

我有一个活动,在工作线程加载我的游戏时显示加载屏幕。加载工作线程时,会更新活动上的textview以显示其当前状态。完成后,它将关闭加载活动并开始实际的游戏活动。 工作线程是在onCreate()方法中创建的,并被赋予一个新创建的处理程序

但是,当活动被销毁并重新启动时(例如通过方向更改),会发生什么情况?IMHO onCreate()方法将在第一个工作线程仍在加载时创建一个新的工作线程,因此现在有多个工作线程执行相同的操作


防止这种情况并将新活动通知工作线程(以便它可以发布其状态更新)的最佳方法是什么。

您是否绑定了DroidFu库?它有一个名为BetterAsyncTask的类,似乎旨在解决您正在讨论的问题。你可以在这里找到库()和一篇关于你的问题和droidfu的文章(参见“TheDrattedAsyncTask”一节)。

不是说这是最好的,但是可以在onPause->protectedvoidOnPause()中调用cancel{super.onPause();if(asynch!=null){asynch.cancel(true);}谢谢你提供的信息。虽然我没有使用库本身,但修改了部分代码。