创建包含 BottomNavigationView 的 MainActivity 静态实例
Creating static instance of MainActivity containing BottomNavigationView
我正在尝试创建一个包含 BottomNavigationView 的 MainActivity 静态实例,但这总是发出警告。我知道在静态字段中放置 android 上下文 类 会导致内存泄漏,但仅当我使用 BottomNavigationView 时才会收到此警告。我不明白为什么在没有 BottomNavigationView 的情况下不显示此警告以及删除此警告的最佳方法是什么?
警告消息:
Do not place Android context classes in static fields (static
reference to MainActivity
which has field bottomNav
pointing to
BottomNavigationView
); this is a memory leak (and also breaks
Instant Run)
我的代码:
public class MainActivity extends AppCompatActivity {
BottomNavigationView bottomNav;
ImageView rootIndicator;
...
...
}
public class Utils {
public static MainActivity activity;
...
...
}
如果您发现自己处于像现在这样考虑保存对 Activity 的静态引用的情况,请重新考虑您的整个设计,因为您永远不应该这样做,并且以后只会引起更多的问题。
如果你告诉我们你想做什么,我们也许能以更好的方式帮助你。
我正在尝试创建一个包含 BottomNavigationView 的 MainActivity 静态实例,但这总是发出警告。我知道在静态字段中放置 android 上下文 类 会导致内存泄漏,但仅当我使用 BottomNavigationView 时才会收到此警告。我不明白为什么在没有 BottomNavigationView 的情况下不显示此警告以及删除此警告的最佳方法是什么?
警告消息:
Do not place Android context classes in static fields (static reference to
MainActivity
which has fieldbottomNav
pointing toBottomNavigationView
); this is a memory leak (and also breaks Instant Run)
我的代码:
public class MainActivity extends AppCompatActivity {
BottomNavigationView bottomNav;
ImageView rootIndicator;
...
...
}
public class Utils {
public static MainActivity activity;
...
...
}
如果您发现自己处于像现在这样考虑保存对 Activity 的静态引用的情况,请重新考虑您的整个设计,因为您永远不应该这样做,并且以后只会引起更多的问题。
如果你告诉我们你想做什么,我们也许能以更好的方式帮助你。