具有drawable int数组的Android ListView可提升性能

时间:2014-07-16 09:20:43

标签: android performance list listview drawable

我有很多drawables,我将其传递到int数组,然后将它们加载到我的构造函数中。方法如下:

public static final int contactsArray[] = { R.drawable.contact_image_1,
R.drawable.contact_image_2, 
R.drawable.contact_image_3,
R.drawable.contact_image_4,
R.drawable.contact_image_5 };  

之后,目前的批准:

public static List<DataModel> getContacts()
{
List<DataModel> items = new ArrayList<DataModel>();
items.add(new DataModel(contactsArray[0]));
items.add(new DataModel[1]));
items.add(new DataModel(contactsArray[2]));
items.add(new DataModel(contactsArray[3]));
items.add(new DataModel(contactsArray[4]);
return items;
}

采用旧方法:

public static List<DataModel> getContacts() {
List<DataModel> items = new ArrayList<DataModel>();
items.add(new DataModel(R.drawable.contact_image_1));
items.add(new DataModel.drawable.contact_image_2));
items.add(new DataModel(R.drawable.contact_image_3));
items.add(new DataModel(R.drawable.contact_image_4));
items.add(new DataModel(R.drawable.contact_image_5);
return items;
}

我将ViewHolder模式用于我的列表,并将getContacts()方法作为适配器参数传递。

我的问题是,如果我首先在int数组中加载drawables,或者只是在每个构造函数参数中传递每个可绘制的Resource引用,它是否确实会产生性能差异。 THX。

1 个答案:

答案 0 :(得分:1)

此更改就像在数组中保留文件路径一样,这不会影响性能,因为图像的加载发生在适配器中