From f1ecc71716ca1deb20e366d83ca05332496b9fd3 Mon Sep 17 00:00:00 2001 From: Thomas Kuehne Date: Fri, 1 May 2026 10:28:25 +0000 Subject: [PATCH] Garmin: re-use FitImporter to reduce memory pressure --- .../service/devices/garmin/fit/FitAsyncProcessor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/fit/FitAsyncProcessor.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/fit/FitAsyncProcessor.java index 2d3665f9f3..6582dfd045 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/fit/FitAsyncProcessor.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/fit/FitAsyncProcessor.java @@ -38,6 +38,7 @@ public class FitAsyncProcessor { new Thread(() -> { try { + FitImporter fitImporter = null; int i = 0; for (final File file : files) { i++; @@ -47,10 +48,13 @@ public class FitAsyncProcessor { FitAsyncProcessor.this.handler.post(() -> callback.onProgress(finalI)); try { - final FitImporter fitImporter = new FitImporter(context, gbDevice); + if (fitImporter == null) { + fitImporter = new FitImporter(context, gbDevice); + } fitImporter.importFile(file, isReprocessing); } catch (final Exception ex) { LOG.error("Exception while importing {}", file, ex); + fitImporter = null; continue; // do not remove from pending files }