Search packages, repositories and app categories

Package detailsv1.0.3

isolated_download_manager

File download manager based on reusable isolates with progress, cancellation, pause and resume

AndroidiOSmacOSWindowsLinux
30-day downloads
253
Likes
28
Pub points
160

Install package

flutter pub add isolated_download_manager

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package that provides a robust file download manager using isolated Dart threads for concurrent downloads. It supports real-time progress tracking, cancellation, pause, and resume functionality, ensuring efficient and responsive downloads without blocking the main UI thread. Built with cross-platform compatibility in mind, it works seamlessly on Android, iOS, macOS, Windows, and Linux. The package leverages isolates to handle heavy I/O operations safely and efficiently, making it ideal for apps requiring reliable background downloads.

Use cases

  • Background file downloads
  • Resume interrupted downloads
  • Real-time download progress tracking
  • Multiple simultaneous downloads
  • Offline content caching

Key features

  • Isolate-based concurrency
  • Pause and resume downloads
  • Download progress monitoring
  • Cross-platform support
  • Cancellation capability

Suitable for

  • Apps needing background downloads
  • Media streaming applications
  • Large file transfer utilities
  • Offline-first mobile apps
  • Applications with multiple concurrent downloads

Considerations

  • Requires proper error handling for network issues
  • May need additional storage permission management
  • Performance depends on device resources
  • Not suitable for very small or frequent downloads
  • Requires careful state management during app restarts

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

File download manager based on reusable isolates with progress, cancellation, pause and resume

Features

  • Fully isolated - create any amount of reusable isolates, all handled internally
  • Powerfull - pause, resume, cancel, download queue and many more
  • Listen to updates - realtime progress and failure handling
  • UI - use ready-to-use Flutter widgets (optionally via isolated_download_manager_flutter)
  • Pure Dart - only http dependency

Getting started

Include latest version from pub.dev to pubspec.yaml

Usage

// initialize
await DownloadManager.instance.init(isolates: 3);

// download
final request = DownloadManager.instance.download(url);

// listen to state changes
request.events.listen((event) { ... }

// control the task
request.pause();
request.resume();
request.cancel();

Example full source code available at example's directory

Additional information

For resumable downloads download_task package is used

Categories

Dependencies

Dependency list 2 items

  • download_task>=1.0.2 <2.0.0
  • http>=0.13.0 <2.0.0

Source repository

Projects using this package

No data available yet.