diff --git a/app/src/main/java/org/schabi/newpipe/settings/DebugSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/DebugSettingsFragment.java
index af3e3f5a9..3d63414a8 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/DebugSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/DebugSettingsFragment.java
@@ -2,9 +2,24 @@ package org.schabi.newpipe.settings;
import android.os.Bundle;
+import androidx.annotation.Nullable;
+
import org.schabi.newpipe.R;
+import leakcanary.LeakCanary;
+
public class DebugSettingsFragment extends BasePreferenceFragment {
+ @Override
+ public void onCreate(@Nullable final Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ findPreference(getString(R.string.show_memory_leaks_key))
+ .setOnPreferenceClickListener(preference -> {
+ startActivity(LeakCanary.INSTANCE.newLeakDisplayActivityIntent());
+ return true;
+ });
+ }
+
@Override
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
addPreferencesFromResource(R.xml.debug_settings);
diff --git a/app/src/main/res/values/bools.xml b/app/src/main/res/values/bools.xml
new file mode 100644
index 000000000..2ccacb24c
--- /dev/null
+++ b/app/src/main/res/values/bools.xml
@@ -0,0 +1,4 @@
+
+
+ false
+
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 8d2dd7dcb..cda95103f 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -166,6 +166,7 @@
debug_pref_screen_key
allow_heap_dumping_key
+ show_memory_leaks_key
allow_disposed_exceptions_key
show_original_time_ago_text_key
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index eebdda023..331ea011b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -493,6 +493,7 @@
LeakCanary
Memory leak monitoring may cause the app to become unresponsive when heap dumping
+ Show memory leaks
Report out-of-lifecycle errors
Force reporting of undeliverable Rx exceptions outside of fragment or activity lifecycle after disposal
Show original time ago on items
@@ -673,4 +674,4 @@
Created by %s
By %s
Playlist page
-
\ No newline at end of file
+
diff --git a/app/src/main/res/xml/debug_settings.xml b/app/src/main/res/xml/debug_settings.xml
index 3cc2db9a3..cdb8f6a19 100644
--- a/app/src/main/res/xml/debug_settings.xml
+++ b/app/src/main/res/xml/debug_settings.xml
@@ -12,6 +12,11 @@
android:title="@string/leakcanary"
android:summary="@string/enable_leak_canary_summary"/>
+
+