活动开始时运行任务

时间:2011-12-07 11:11:56

标签: android android-asynctask

如何在活动开始时运行异步任务?大约有7个活动,我需要在每次启动时运行异步任务,并在活动结束时取消它。

public MyApp extends Application{
    public void onCreate(){super.onCreate();}
}

一个显而易见的方法是将其置于每个活动的onCreate中,但这不是很干。还有其他方法吗?如果我把它放在Application onCreate中,那么我无法执行Toast.makeText,因为我猜没有活动可用......

2 个答案:

答案 0 :(得分:1)

首先,您的代码使用onCreate - 应用程序类的方法。一般来说,你应该避免在这里做东西,但使用你的Activity类。您应该了解应用程序和活动之间的区别,并且应该对Activity-Lifecycle有一个很好的理解,因为这是Android的基础知识。

对于所有活动的常见任务,您应该创建自己的抽象BaseActivity,在那里实现公共/共享内容并从此类继承。但请记住,可能会同时实例化多个活动,因此使用的右侧处理程序实际上取决于您希望实现的行为类型。再次:了解Android生命周期如何工作以及如何管理活动,或者您可能会遇到一些麻烦。

答案 1 :(得分:0)

您是否考虑过创建服务来托管您的任务,并将其绑定到您的每项活动中OnCreate