【发布时间】:2017-02-28 09:59:23
【问题描述】:
这里我以静态方法将一些Fragments 添加到List。
public static List<Fragment> TOOLS(){
List<Fragment> fragments=new ArrayList<>();
fragments.add(new SubjectFragment());
fragments.add(new ExamFragment());
fragments.add(new AdminToolsFragment());
return fragments;
}
我使用它是因为我的方便。 早期我使用 switch 语句
switch (textView.getId()) {
case R.id.subject:
onButtonPressed(new SubjectFragment(), "Subject");
break;
case R.id.exam:
onButtonPressed(new ExamFragment(), "exam");
break;
case R.id.tools:
onButtonPressed(new AdminToolsFragment(), "adminTools");
break;
}
现在我用List 代替了switch 语句。
像这样。
fragments.get(position);
我的问题是在创建片段对象时出现的
new MyFragment();
即。创建越来越多的实例是昂贵的。所以在 switch 语句中,一次只创建 一个实例。但是当使用列表时
fragments.add(new SubjectFragment());
fragments.add(new ExamFragment());
fragments.add(new AdminToolsFragment());
一次创建多个实例。
问题是。 将片段添加到列表是否对性能不利?如果不是,那是什么原因?
【问题讨论】:
标签: android android-fragments arraylist