我有一個靜態工廠方法,它將返回一個片段對象。什麼時候靜態變量得到垃圾回收?
private static String final A1="a1";
private static String final A2="a2";
private static String final A3="a2";
private static String final A4="a4";
public static MyFragment newInstance(int index) {
MyFragment f = new MyFragment();
Bundle args = new Bundle(4);
args.putInt(A1, index);
args.putInt(A2, index);
args.putInt(A3, index);
args.putInt(A4, index);
f.setArguments(args);
return f;
}
和我得到它的內oncreate()
getArguments().getInt(A1, 0);
現在我的問題是:我創建了幾個MyFragment
物體的像下面
List<Fragment> fragments = new ArrayList<>();
fragments.add(MyFragment.newInstance(defaultId));
int i = 1;
for (Categories categories : mCategories) {
String id = categories.getCategory_id();
String name = categories.getCategory_name();
// String slno = categories.getSlno();
fragments.add(MyFragment.newInstance(defaultId));
Titles[i] = name;
i++;
}
由於變量A1-A4爲靜態的意志它清楚它的活動摧毀的記憶?或者我需要在onDistroy中將變量分配爲null
?
請幫我澄清一下疑問嗎?
你有太多標記爲最終。所以你不能對它們有任何新的價值。別擔心。 'final static'是java常量的標記。在java中,儘量少用一些練習來尋找static和final的含義。 – Blackbelt