Android: Fix memory leak in AccessibilityInfoModule
Summary: This change fixes a memory leak in `AccessibilityInfoModule`. Our tooling detected this memory leak. After this commit, we no longer see the leak in the tool. We've been using the change in our app. Adam Comella Microsoft Corp. Closes https://github.com/facebook/react-native/pull/14171 Differential Revision: D5128845 Pulled By: javache fbshipit-source-id: b604902188eb8cc029b1ad39d087e199ae26877c
This commit is contained in:
Родитель
9dc0385405
Коммит
e9ae31dfd6
|
@ -43,8 +43,8 @@ public class AccessibilityInfoModule extends ReactContextBaseJavaModule
|
|||
|
||||
public AccessibilityInfoModule(ReactApplicationContext context) {
|
||||
super(context);
|
||||
mAccessibilityManager = (AccessibilityManager) getReactApplicationContext()
|
||||
.getSystemService(Context.ACCESSIBILITY_SERVICE);
|
||||
Context appContext = context.getApplicationContext();
|
||||
mAccessibilityManager = (AccessibilityManager) appContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
|
||||
mEnabled = mAccessibilityManager.isTouchExplorationEnabled();
|
||||
if (Build.VERSION.SDK_INT >= 19) {
|
||||
mTouchExplorationStateChangeListener = new ReactTouchExplorationStateChangeListener();
|
||||
|
@ -92,6 +92,12 @@ public class AccessibilityInfoModule extends ReactContextBaseJavaModule
|
|||
updateAndSendChangeEvent(mAccessibilityManager.isTouchExplorationEnabled());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCatalystInstanceDestroy() {
|
||||
super.onCatalystInstanceDestroy();
|
||||
getReactApplicationContext().removeLifecycleEventListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHostDestroy() {
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче