Skip to content

[Bug report] iOS destructive methods delayed by QOS_CLASS_BACKGROUND #1379

@LeLunZ

Description

@LeLunZ

Version

3.7.1

Platforms

iOS

Device Model

Any Iphone

flutter info

[✓] Flutter (Channel stable, 3.41.4, on macOS 26.3.1 25D2128 darwin-arm64, locale de-AT) [514ms]
[✓] Android toolchain - develop for Android devices (Android SDK version 36.1.0) [2,0s]
[✓] Xcode - develop for iOS and macOS (Xcode 26.3) [1 280ms]
[✓] Network resources [574ms]

How to reproduce?

On iOS, deleteWithIds, removeInAlbum, deleteAlbum are dispatched with QOS_CLASS_BACKGROUND, the lowest priority queue. This sometimes causes significant delays, before the native iOS deletion confirmation dialog appears.
Especially if there is other stuff running, the phone is in low power mode, or is thermal throttling.

Apps implementing these functions would then feel "broken" because nothing happens for a long time.

For apps deleting stuff on iOS, QOS_CLASS_USER_INITIATED is the better fit, as most deletion requires user interaction by accepting the native iOS prompt. If this is scheduled for later it doesn't really make any sense.

clearFileCache, releaseMemoryCache both make sense at QOS_CLASS_BACKGROUND

Logs

Example code (optional)

Contact

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions