在我的应用程序中,我有几个标签,用户可以在同一个标签中切换不同的片段(我正在使用嵌套片段)。
为了指定每个标签的默认值(“第一个”),我定义了以下静态地图:
/**
This map is used in order to map tab's tags into default fragments for these tabs
*/
public static final Map<String, Class> DEFAULT_TAB_FRAGMENT_MAP;
static {
Map<String, Class> map = new HashMap<String, Class>();
map.put(HOME_TAB_TAG, HomeFragment.class);
map.put(HISTORY_LIST_TAB_TAG, HistoryFragment.class);
map.put(HISTORY_CLOCK_TAB_TAG, HistoryClockFragment.class);
map.put(SETTINGS_TAB_TAG, SettingsFragment.class);
map.put(EXTRAS_TAB_TAG, ExtrasFragment.class);
DEFAULT_TAB_FRAGMENT_MAP = Collections.unmodifiableMap(map);
}
上面的映射允许我查询特定选项卡(由String标记定义)的默认片段的Class。
在某些时候,我意识到我的应用程序内存泄漏 - 即使我的应用程序处于后台,垃圾收集器也像疯子一样工作。是否可以对类变量进行静态引用导致内存泄漏?
答案 0 :(得分:0)
在我获得2年的Android开发经验(以及一般的Java)后,我认为我可以回答我自己的新手问题:不,对类对象的静态引用不会导致内存泄漏。