Android:多次膨胀布局会导致性能问题

时间:2014-05-22 16:25:14

标签: android performance android-layout android-fragments android-scrollview

我在片段中有一个水平滚动视图,我在ActivityCreated方法的循环中多次向同一布局充气(即大约300个)。

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);

    for (int i = 0; i < myData.size(); i++) {

        View view = getActivity().getLayoutInflater().(R.layout.item, null);
        parentLayout.addView(view, params);
    }
}

我注意到这个循环上有一些关于通货膨胀的性能问题,即在片段显示之前有一段延迟。

不确定解决此问题的最佳方法是什么,以及在循环中扩展多个布局的最佳流程是什么?

如果我可以异步进行,那可能是一种选择吗?

1 个答案:

答案 0 :(得分:0)

这正是您应该使用AdapterView的情况。在这种情况下,ListView可能是最合适的。它做了许多聪明的事情,例如只有在可见时才创建视图,并在滚动可见性时回收视图。