1

这是一个非常罕见的问题,也是一个非常不寻常的问题。在我的 onCreate () 方法中,我首先检查是否安装了 sd 卡。如果它已卸载,那么我只需使用 return;这样就无法执行进一步的代码,并且会向用户显示警报对话框,用户可以在其中选择重试或退出。我用了回报;在 onCreate 中,因为我不想处理其余代码,否则可能会产生错误。现在我想知道两件事

当我使用返回时;在onCreate()方法中,它返回到哪里?

4

2 回答 2

4

当我使用返回时;在 onCreate() 方法中,它返回到哪里?

onCreate() 声明了一个 void 返回类型,所以你没有返回一个值。在这种情况下,提前返回只是在执行其余代码之前结束方法的执行。在Android 方面,您将控制权交还给系统(即UI 线程)。

编辑:每当 Android 运行应用程序时,它都会创建一个进程和(至少)一个线程(UI 线程)来运行您的代码。该线程遵循应用程序生命周期并在某些点(活动回调)调用您的代码。只要您的代码没有运行,系统就可以自由处理已排队的输入事件。总结一个非常长的绕线器答案:每当您从onCreate(),onResume()等返回时,您都已将控制权返回给系统。

于 2011-08-08T14:27:28.020 回答
1

听起来好像您想从 OnCreate 内部结束您的活动,您可以通过调用 finish() 来执行此操作(随时都可以)

于 2011-08-08T14:33:48.400 回答