public static MainActivity mainActivity ;
public static MainActivity instance() {
return mainActivity ;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation);
mainActivity = this;
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mainActivity != null) {
mainActivity = null;
}
}
为什么内存泄漏?为什么我们说写这篇文章非常糟糕? 我想从GC原理中理解它。
答案 0 :(得分:0)
onDestroy并不总是被调用,如果不是,你就会泄漏。总是调用onStop,如果你将mainActivity设置为null,那么你可能没有泄漏。但我想知道为什么你会需要这个。
另外,你的:
public static MainActivity instance() {
if(mainActivity == null){
mainActivity = this;
}
return mainActivity ;
}
是静态的并使用"这个",我不认为这是可能的。没有"这个"用静态方法。