活动启动时运行task



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

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

一个明显的方法是把它放在每个活动的onCreate中,但这不是很DRY。还有别的办法吗?如果我把它放在应用程序onCreate中,那么我就无法执行,Toast。makeText,因为我猜没有活动可用…

首先,您的代码使用应用程序类的onCreate -方法。一般来说,你应该避免在这里做事情,但使用你的Activity类。你应该意识到应用程序和活动之间的区别,应该有一个很好的理解活动生命周期,因为这是Android的基础。

对于所有活动的共同任务,你应该创建你自己的可能抽象的BaseActivity,实现公共/共享的东西,从这个类继承。但是请记住,可能会同时实例化多个activity,因此使用正确的处理程序实际上取决于您想要实现的行为类型。再次强调:理解android的生命周期是如何工作的以及activity是如何管理的,否则你可能会遇到一些麻烦。

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

最新更新