【发布时间】:2015-10-26 13:16:14
【问题描述】:
我有一个静态工厂方法,它将返回一个片段对象。
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。所以你不能给他们任何新的价值。不要担心他们。
final static是 java 常量的标记。作为一个小练习,在 java 中寻找 static 和 final 的含义。
标签: java android static-members