diff options
author | peking_ling <lingbjsz@gmail.com> | 2023-02-24 04:53:56 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-23 21:53:56 +0100 |
commit | 240737e3acee6d6c56ce8ca782b99f54205a4ea9 (patch) | |
tree | db9dd039a1fc2fcc72670b99728f93b5784e684d /app | |
parent | 9fed944392ee31f00ef91a01a2c34dddc876a86a (diff) | |
download | AntennaPod-240737e3acee6d6c56ce8ca782b99f54205a4ea9.zip |
Fix memory leaks (#6335)
Diffstat (limited to 'app')
5 files changed, 22 insertions, 5 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java index fad586328..9c771f161 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -230,6 +230,14 @@ public class MainActivity extends CastEnabledActivity { } } + @Override + protected void onDestroy() { + super.onDestroy(); + if (drawerLayout != null) { + drawerLayout.removeDrawerListener(drawerToggle); + } + } + private void checkFirstLaunch() { SharedPreferences prefs = getSharedPreferences(PREF_NAME, MODE_PRIVATE); if (prefs.getBoolean(PREF_IS_FIRST_LAUNCH, true)) { diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java index 6d91765da..f615252bd 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java @@ -73,12 +73,13 @@ public class CompletedDownloadsFragment extends Fragment private SpeedDialView speedDialView; private SwipeActions swipeActions; private ProgressBar progressBar; + private MaterialToolbar toolbar; @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View root = inflater.inflate(R.layout.simple_list_fragment, container, false); - MaterialToolbar toolbar = root.findViewById(R.id.toolbar); + toolbar = root.findViewById(R.id.toolbar); toolbar.setTitle(R.string.downloads_label); toolbar.inflateMenu(R.menu.downloads_completed); inflateSortMenu(toolbar); @@ -168,6 +169,10 @@ public class CompletedDownloadsFragment extends Fragment public void onDestroyView() { EventBus.getDefault().unregister(this); adapter.endSelectMode(); + if (toolbar != null) { + toolbar.setOnMenuItemClickListener(null); + toolbar.setOnLongClickListener(null); + } super.onDestroyView(); } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java index 32ab5d9e5..930440b39 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java @@ -196,7 +196,7 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu Log.d(TAG, "Language is " + feed.getLanguage()); Log.d(TAG, "Author is " + feed.getAuthor()); Log.d(TAG, "URL is " + feed.getDownload_url()); - Glide.with(getContext()) + Glide.with(this) .load(feed.getImageUrl()) .apply(new RequestOptions() .placeholder(R.color.light_gray) @@ -204,7 +204,7 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu .fitCenter() .dontAnimate()) .into(imgvCover); - Glide.with(getContext()) + Glide.with(this) .load(feed.getImageUrl()) .apply(new RequestOptions() .placeholder(R.color.image_readability_tint) diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java index 31a7d81fb..df48c9a98 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java @@ -297,9 +297,9 @@ public class ItemFragment extends Fragment { new RoundedCorners((int) (8 * getResources().getDisplayMetrics().density))) .dontAnimate(); - Glide.with(getActivity()) + Glide.with(this) .load(item.getImageLocation()) - .error(Glide.with(getActivity()) + .error(Glide.with(this) .load(ImageResourceUtils.getFallbackImageLocation(item)) .apply(options)) .apply(options) diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java index 4e8999d0f..bb22c5652 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -251,6 +251,10 @@ public class QueueFragment extends Fragment implements MaterialToolbar.OnMenuIte recyclerAdapter.endSelectMode(); } recyclerAdapter = null; + if (toolbar != null) { + toolbar.setOnMenuItemClickListener(null); + toolbar.setOnLongClickListener(null); + } } private void refreshToolbarState() { |