From e5bfbce6b04d55f6b297c0f919cd8df24aace2f0 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 27 Sep 2020 10:42:12 +0200 Subject: [PATCH] Clear contact info on low memory --- .../main/java/eu/faircode/email/ApplicationEx.java | 3 +++ app/src/main/java/eu/faircode/email/ContactInfo.java | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/ApplicationEx.java b/app/src/main/java/eu/faircode/email/ApplicationEx.java index cbdd17f74d..0782081253 100644 --- a/app/src/main/java/eu/faircode/email/ApplicationEx.java +++ b/app/src/main/java/eu/faircode/email/ApplicationEx.java @@ -152,6 +152,9 @@ public class ApplicationEx extends Application { Map crumb = new HashMap<>(); crumb.put("free", Integer.toString(Log.getFreeMemMb())); Log.breadcrumb("low", crumb); + + ContactInfo.clearCache(this, false); + super.onLowMemory(); } diff --git a/app/src/main/java/eu/faircode/email/ContactInfo.java b/app/src/main/java/eu/faircode/email/ContactInfo.java index 97514913aa..c85b9c9e47 100644 --- a/app/src/main/java/eu/faircode/email/ContactInfo.java +++ b/app/src/main/java/eu/faircode/email/ContactInfo.java @@ -138,12 +138,22 @@ public class ContactInfo { } static void clearCache(Context context) { + clearCache(context, true); + } + + static void clearCache(Context context, boolean files) { synchronized (emailContactInfo) { emailContactInfo.clear(); } - final File dir = new File(context.getCacheDir(), "favicons"); + synchronized (emailGravatar) { + emailGravatar.clear(); + } + if (!files) + return; + + final File dir = new File(context.getCacheDir(), "favicons"); executorFavicon.submit(new Runnable() { @Override public void run() {