这是我的主要活动:如何保持的AsyncTask当用户关闭应用程序
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
moveTaskToBack(true);
System.exit(0);
}
我想AsyncTask
继续数据放在我的服务器在后台在用户关闭应用程序后。
这是我的主要活动:如何保持的AsyncTask当用户关闭应用程序
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
moveTaskToBack(true);
System.exit(0);
}
我想AsyncTask
继续数据放在我的服务器在后台在用户关闭应用程序后。
我希望AsyncTask在用户关闭应用程序后在后台继续将数据放入服务器。
的AsyncTask
目的是不执行后台任务已经超出了一个Activity
的生命周期的范围。当从线程池中分配后台线程时,一旦任务结束,它就会返回它。即不能使用AsyncTask
,因为所需时间不确定。
什么是在寻找适合的是Services在Android。
为什么即使使用AsyncTask如果我们有服务?
嘛,说比如你需要从一个Activity
上Button
的点击下载图像/歌曲或您需要执行,将需要一些时间来完成其执行的任务。从主线程(也称为UI线程)执行这些任务是一种糟糕的方法,并且会使您的应用程序变得迟钝并最终导致ANR。所以这些任务是从一个单独的线程异步处理,以保持应用程序黄油顺利。
你必须检查服务和/或IntentServices
服务是解决方案的一部分,但要注意服务前台线程上运行。你会想从服务中运行你的AsyncTask,以确保它继续在后台线程上运行。
就个人而言,我会使用服务建议对有利于JobScheduler,或者如果你需要支持低于API 21设备,Evernote的的JobManager(这也有点更容易使用)。这些将帮助您在适当的时间安排后台操作,以最大限度地减少电池使用或设备空闲时的时间。使用设备资源时成为一个好公民很重要。
您需要熟悉服务 –
Duplicate - http://stackoverflow.com/questions/39507506/how-to-execute-background-task-when-android-app-is-closed-set-to-background和http://stackoverflow.com/questions/39507506/how-to-execute-background-task-when-android-app-is-closed-set-to-background –
让自己适应服务 –