gpt4 book ai didi

android - 即使在 onDestroy() 方法中将实例设置为 null,Activity 仍然会泄漏

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:01 25 4
gpt4 key购买 nike

我的主 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;
}
}

它在哪里泄漏?我该如何解决?任何帮助,将不胜感激。非常感谢。

我正在使用泄漏金丝雀,这就是泄漏 enter image description here

最佳答案

尝试使用

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

但是使用 Activity 的静态引用是非常糟糕的做法,不要这样做。

在大多数情况下,您可以使用 activity.this 引用或类似 getActivity() 方法。

关于android - 即使在 onDestroy() 方法中将实例设置为 null,Activity 仍然会泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39566883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com