启动任务,导航离开应用程序并返回查看完成

时间:2015-02-09 22:34:04

标签: android android-service

...再次学习Android服务......

我多次注意到,作为用户,您可以通过点击应用上的按钮启动任务,然后离开应用。当你回来时,你发现任务已经完成。这在许多应用程序中完成。

这种行为的正确设计是什么?作为活动的一部分,任务是在UI线程上完成的,它是异步任务还是服务?

我能想到的唯一一件事就是服务,因为当操作系统杀死应用程序时,这将会存活下来,从而能够完成任务。 但是我觉得使用服务进行翻版是不可能的。

评论

1 个答案:

答案 0 :(得分:0)

我认为一个好的做法是异步运行任何内容并将重要值存储在SaveInstance状态。比如像:

@Override
protected void onSaveInstanceState(Bundle outState) {

    outState.putBoolean("MYBOOL", true);
    outState.putString("MYSTRING", "Hello World");

    super.onSaveInstanceState(outState);
}

然后在onCreate方法:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);


    if(savedInstanceState != null){

        boolean myBool = savedInstanceState.getBoolean("MYBOOL");
        String myString = savedInstanceState.getString("MYSTRING");

    }

}

这是存储重要变量...如果要刷新任何数据,那么当用户返回时发现它已加载,只需在异步任务和onPostExecute刷新数据中执行,通知适配器的任何更改。 / p>