android – 线程或服务

我对 android上的线程和服务感到困惑.
如果我必须从服务器下载一些文件.它可能一次只有多个文件.
在这种情况下,线程或服务应该选择什么?

解决方法

Service中执行操作不会使其在后台运行.您还必须在服务中创建一个Thread,以等待下载完成.

如果您使用的是活动本地的线程,您将无法离开活动,将其发送到后台或因来电等中断.这可能会导致您的应用被操作系统杀死以释放记忆.在这种情况下,您的线程将丢失,并且可能无法重新启动并使您的应用程序崩溃.

如果你创建一个服务,那么你就不太可能被杀死,只有一个线程,你可以指定操作系统在操作系统被杀死后重启服务.这使得该服务成为非常长时间下载的更安全选择.我在我的一个应用程序中使用服务来下载一个20 MB的文件,并在此服务中创建一个执行下载的线程.

服务只能帮助您封装下载并将其与活动分离,并在操作系统中为您提供另一种状态,以防止线程因内存不足而消失.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...