让代码更简单

[GitHub精选]Android 文件下载引擎

重要:本文最后更新于2023-09-10 21:41:54,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

Android 稳定、高效、灵活、简单易用的文件下载引擎FileDownloader,基本上开发中遇到的文件下载类任务都可以使用它来完成,少写亿行代码,又可以愉快摸鱼了。

GitHub项目地址:https://github.com/lingochamp/FileDownloader

[GitHub精选]Android 文件下载引擎

特点

  • 简单易用
  • 单任务多线程/多连接/分块下载(并支持通过ConnectionCountAdapter定制)
  • 高并发
  • 灵活
  • 可选择性支持: 独立/非独立进程
  • 自动断点续传

需要注意

  • 当下载的文件大小可能大于1.99GB(2^31-1=2_147_483_647 = 1.99GB)的时候, 请使用FileDownloadLargeFileListener而不是FileDownloadListener(同理使用getLargeFileSofarBytes()getLargeFileTotalBytes())
  • 暂停: paused, 恢复: 直接调用start,默认就是断点续传
  • 引擎默认会打开避免掉帧的处理(使得在有些情况下回调(FileDownloadListener)不至于太频繁导致ui线程被ddos), 如果你希望关闭这个功能(关闭以后,所有回调会与0.1.9之前的版本一样,所有的回调会立马抛一个消息ui线程(Handler))
  • 如果没有特殊需要,直接通过配置filedownloader.propertiesprocess.non-separate置为true,可以有效减少每次回调IPC带来的I/O。

Android 系统适配

适配 Android 8.0

从 Android 8.0 开发,后台服务的限制增强了。 因此,自 FileDownloader 1.7.6 版本开始, Android 8.0 及之后的系统上,如果在后台启动下载服务,这个服务将会是一个前台服务,同时你会看到一个标题为”FileDownloader” 的通知。

适配 Android 9.0

从 Android 9.0 (API level 28) 开始,明文请求默认被禁止。 FileDownloader 1.7.6 已经在 demo 中处理了此问题。

FOREGROUND_SERVICE 这个权限已经在 1.7.6 版本添加到 library 的 manifest 里面了。

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐