我的Asyctask正在运行时遇到了这种情况。
用户在AsyncTask运行时单击主页按钮。
应用程序处于后台时是否允许AsyncTask运行,或者应用程序到达前台时是否应暂停和恢复。
答案 0 :(得分:1)
这取决于。什么是AsyncTask呢?
如果它正在将数据同步到服务器,那么它可能应该保持不变。异步任务是否总是必须在onResume()中重做?取消它。
如果是加载数据,它可以采用任何一种方式。活动/片段是否会强制重新加载onResume()中的数据,还是允许加载器(我希望使用异步加载器)在用户临时切换到后台时填充后台加载的数据?
你必须问问自己,这个任务是否运行昂贵的(资源方面的)在不在前台时会有用?
另外请记住,操作系统也可以单独取消任务本身。只要你正确地清理资源,在回调中适当地处理取消和null活动,让它运行就不会是世界末日。