Android 使用AsyncTask或服务在后台上载文件是否更好?

Android 使用AsyncTask或服务在后台上载文件是否更好?,android,file-upload,android-asynctask,android-service,Android,File Upload,Android Asynctask,Android Service,我有一个要求,用户可以上传视频到亚马逊S3。我使用AmazonSDK中的java高级api实现了这一点。在上载过程中,如果用户单击主页按钮,则必须在后台继续上载 有什么更好的方法: *1使用AsyncTask:我尝试过使用AsyncTask,效果很好。但是,如果上传过程在后台持续很长时间,操作系统就会关闭应用程序以释放内存。有什么方法可以让我处理这种情况,让我的应用程序完成上传过程 *2使用服务:有人建议我使用服务+ui通知。我想使用AsyncTask,因为它对我来说很好。与AsyncTask相

我有一个要求,用户可以上传视频到亚马逊S3。我使用AmazonSDK中的java高级api实现了这一点。在上载过程中,如果用户单击主页按钮,则必须在后台继续上载

有什么更好的方法:

*1使用AsyncTask:我尝试过使用AsyncTask,效果很好。但是,如果上传过程在后台持续很长时间,操作系统就会关闭应用程序以释放内存。有什么方法可以让我处理这种情况,让我的应用程序完成上传过程


*2使用服务:有人建议我使用服务+ui通知。我想使用AsyncTask,因为它对我来说很好。与AsyncTask相比,使用服务是否有任何优势。

大多数情况下,AsyncTask与UI、启动它的活动等相耦合。这些将保留在内存中,直到任务完成

您的这个上传场景请求通过一个。这将使上传与特定活动脱钩,并使你的应用程序在Android生命周期中成为一个好的Android公民


您现在可以创建一个通知,该通知会定期从服务中更新,显示上载状态,并允许用户从其状态栏取消上载。

a服务。肯定如果你在一个活动中管理你的异步任务,当该活动进入后台时,它可能会被杀死。“操作系统会关闭应用程序以释放内存。”。这是一个严重的缺点。@fiddler谢谢你的建议。所以我想我应该使用IntentService而不是AsyncTask。谢谢你的回答。我最好使用IntentService.好安卓公民。。关键词。。