From 50f6066416a395c17355067e3af86f41c736a79e Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Mon, 27 Dec 2021 13:25:29 +0300 Subject: [PATCH] Fix memory leaks found by LeakCanary --- .../gq/kirmanak/mealient/ui/recipes/RecipesFragment.kt | 7 +++++++ .../mealient/ui/recipes/info/RecipeInfoFragment.kt | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesFragment.kt b/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesFragment.kt index 6f58570..d7fa772 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesFragment.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesFragment.kt @@ -77,4 +77,11 @@ class RecipesFragment : Fragment(R.layout.fragment_recipes) { } } } + + override fun onDestroyView() { + super.onDestroyView() + Timber.v("onDestroyView() called") + // Prevent RV leaking through mObservers list in adapter + binding.recipes.adapter = null + } } \ No newline at end of file diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/recipes/info/RecipeInfoFragment.kt b/app/src/main/java/gq/kirmanak/mealient/ui/recipes/info/RecipeInfoFragment.kt index 36e6f88..4c33d71 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/recipes/info/RecipeInfoFragment.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/recipes/info/RecipeInfoFragment.kt @@ -51,4 +51,14 @@ class RecipeInfoFragment : BottomSheetDialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog = BottomSheetDialog(requireContext(), R.style.NoShapeBottomSheetDialog) + + override fun onDestroyView() { + super.onDestroyView() + Timber.v("onDestroyView() called") + // Prevent RV leaking through mObservers list in adapter + with(binding) { + ingredientsList.adapter = null + instructionsList.adapter = null + } + } } \ No newline at end of file