【发布时间】:2014-06-27 18:42:32
【问题描述】:
在我的安卓应用中,有一个SurfaceView。每当用户触摸它时,AsyncTask 就会在SurfaceView 上呈现一个短的(1 秒)动画。我在两种情况下面临强制关闭问题。
- 在动画运行时按返回键。
- 在街机模式下游戏持续时间为 60 秒。游戏结束时,开始新的活动。如果在游戏结束时,动画仍在运行,而新活动开始,我会收到强制关闭错误消息。
如何检查AsyncTask 是否完整,即动画结束,在后退键按下生效或新活动开始之前?在 while 循环中使用 AsyncTask.getStatus() 会冻结应用程序。或者有没有其他方法可以做到这一点?
【问题讨论】:
-
在做任何你可以使用 isFinished() 的事情之前,检查 logcat 看看是什么导致这个力关闭
-
AsyncTask没有 isFinished 方法。我在这里错过了什么? -
我指的是 Activity 类的 isFinishing 而不是 Asynctask,无论如何,如果它不是活动的内部类,你就没有它。您可以使用 Activity 的这种方法来检查 Activity 是否还活着
标签: android android-asynctask forceclose