3

刚刚进入Android开发。有相当多的 Java 经验,包括线程。我一直在检查 BluetoothChat 示例,我很困惑地看到 onPause() 和 onResume() 方法是同步的。由于这两个都只在 UI 线程上执行,我不明白为什么需要这样做。

4

2 回答 2

0

关于进程和线程的 android 开发人员文档很好地解释了应用程序生命周期的工作原理以及线程适合的位置。

于 2013-01-14T17:19:52.497 回答
0

仅仅因为 onPause() 只在主线程上运行并不意味着其他线程不能同时运行。这只是确保线程安全,以防另一个线程正在运行并想要访问 onPause() 将使用/修改的变量。

在我看来,唯一可以阻止的是,如果有人试图在活动完全初始化之前完成活动(即完成调用 onResume())。我的猜测是,它会阻止您或任何其他线程在活动进入运行状态之前完成活动。

另请参阅此问题

于 2013-01-14T16:35:49.707 回答