Java 在两个活动中使用@background

Java 在两个活动中使用@background,java,android,android-activity,android-annotations,Java,Android,Android Activity,Android Annotations,是否可以使用andriodannotations创建一个后台线程,该线程在一个活动中开始,在另一个活动中结束 这就是我认为migh的工作原理 ActivityA public static LoadingDialog LoadingScreen = new LoadingDialog(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat

是否可以使用andriodannotations创建一个后台线程,该线程在一个活动中开始,在另一个活动中结束

这就是我认为migh的工作原理

ActivityA
public static LoadingDialog LoadingScreen = new  LoadingDialog();
@Override
public void onCreate(Bundle savedInstanceState)
{       
    super.onCreate(savedInstanceState);
    //.....
    LoadingScreen.CreateDialog(context);
} 


Background Class
public class LoadingDialog 
{
    private Dialog loader_dialog;
    @Background
    public void CreateDialog(Context mContext)
    {

        loader_dialog = new Dialog(mContext,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
        loader_dialog.setContentView(R.layout.loading_screen);
        loader_dialog.show();
    }
    public void Remove()
    {
        loader_dialog.dismiss();
    }   
}


对话框显示正确,但当我完成()activityA以启动activityB时,线程似乎被终止,我得到一个黑屏。如果您能在这方面提供帮助,我们将不胜感激。

是否可以使用带有应用程序上下文的静态类?不确定您是否完全误用了
@Background
注释。它用于创建后台任务、工作线程,例如某些处理或网络等。您正在执行与GUI相关的操作,这些操作!如果启动新的
活动
,则上一个活动的所有内容都将消失。如果要在第二个窗口中显示该对话框,必须再次打开它。但是我建议重新设计你的用户界面,因为这不是一个好的做法…谢谢你的评论,这可能是我对SE最有用的评论。我只需要试着想一个适合3D游戏的设计,它可以创建一个surfaceview。创建曲面视图会阻止我在第二个活动中创建新对话框,因为在创建曲面视图时,我会在几秒钟内出现黑屏。我想知道是否可以在oncreate方法之外创建曲面视图,以便立即显示对话框为什么必须在第二个
活动中显示对话框?用户在第一个(我猜)中已经单击了它,这意味着应该取消该对话框。因为第二个活动是我创建glsurfaceview的地方,所以无论我如何解决该问题,我都是在我的渲染器构造函数中解析obj文件,而我本应该在onSurfaceCreate中进行解析。这意味着我的构造函数需要一段时间来运行所有内容,并且出于某种原因停止了对话框的显示