我在主要活动(导航活动)中遇到内存泄漏问题。

public static NavigationActivity navigationActivity;

public static NavigationActivity getNavigationActivity() {
    return navigationActivity;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_navigation);

    navigationActivity = NavigationActivity.this;

}

@Override
protected void onDestroy() {
    super.onDestroy();
    if (navigationActivity != null) {
        navigationActivity = null;
    }
}

哪里漏?我该怎么解决呢?任何帮助都将不胜感激。非常感谢你。
我在用渗漏金丝雀这就是渗漏
android - android  -  Activity 仍然泄漏,即使实例在onDestroy()方法中设置为null-LMLPHP

最佳答案

尝试使用

@Override
protected void onStop() {
    super.onStop();
    navigationActivity = null;
}

但是使用静态的活动参考是很糟糕的练习,不要这样做。
在大多数情况下,您可以使用activity.this引用或类似于getactivity()的方法。

09-27 18:25