是否可以从 Runnable 执行 AsyncTask?根据我的经验,它可以完成,但并不安全。当我的应用程序第一次运行时,我的 AsyncTask 从 Runnable 运行良好。但是,当应用程序移到后台,然后再向前移动时,我得到“无法在未调用 Looper.prepare() 的线程内创建处理程序”。
这是我正在尝试做的事情:我正在使用 MapView 并在 onCreate 中调用 runOnFirstFix(Runnable)。我的 Runnable 调用 AsyncTask 来执行 Web 服务调用,该调用会根据位置返回一些数据。我将应用程序移动到后台(通过点击主页按钮),一段时间后我再次将我的应用程序向前移动,并且我在我的 AsyncTask 上调用 execute() 时遇到了异常。
首先,为什么 runOnFirstFix 又被执行了?其次,为什么它会导致第二次异常?我猜我不理解生命周期的某些部分。
谢谢。