我有很多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。
答案 0 :(得分:1)
此更改就像在数组中保留文件路径一样,这不会影响性能,因为图像的加载发生在适配器中