我的主 Activity (NavigationActivity) 中存在内存泄漏问题
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;
}
}
它在哪里泄漏?我该如何解决?任何帮助,将不胜感激。非常感谢。
最佳答案
尝试使用
@Override
protected void onStop() {
super.onStop();
navigationActivity = null;
}
但是使用 Activity 的静态引用是非常糟糕的做法,不要这样做。
在大多数情况下,您可以使用 activity.this 引用或类似 getActivity() 方法。
关于android - 即使在 onDestroy() 方法中将实例设置为 null,Activity 仍然会泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39566883/