I'm using this code to DismissKeyguard after activity finished LeakCanary displays below message. how to prevent these leak.
keyguardManager = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
if(Build.VERSION.SDK_INT >= 27) {
setShowWhenLocked(true);
setTurnScreenOn(true);
if (keyguardManager != null) {
keyguardManager.requestDismissKeyguard(this, null);
}
}
LeakCanary showing
GC Root: Global variable in native code
│
├─ android.app.KeyguardManager$1 instance
│ Leaking: UNKNOWN
│ Anonymous subclass of com.android.internal.policy.IKeyguardDismissCallback$Stub
│ ↓ KeyguardManager$1.val$activity
│ ~~~~~~~~~~~~
╰→ com.example.myapplication.MainActivity instance
Leaking: YES (ObjectWatcher was watching this because com.example.myapplication.MainActivity received Activity#onDestroy() callback and Activity#mDestroyed is true)