我创建一些ViewHolders为我的项目的ListViews,在视图内我存储视图,ImageViews,TextViews和更多。Android性能问题与ViewHolder
在viewholder的课我还创建方法来配置从项目的状态,IE的观点:
对于聊天消息列表项,我将有一个viewholder与消息的发送者,一个ImageView的一个TextView用他的头像,一个包含来自应用程序资源的图像的图像视图,以将该消息标识为音频消息,视频消息,文本消息等等。 在同一ViewHolder我也得到了类似的方法:
configureViewFromMessage(MessageSender sender, Message message)
用于配置从发件人和邮件POJO模型的头像,发送者姓名和消息类型。
编辑: 我添加了一个示例适配器来解释这个更好。
public View getView(int position, View convertView, ViewGroup viewGroup) {
ContactViewHolder cvh;
if (convertView != null) {
cvh = (ContactViewHolder) convertView.getTag();
} else {
convertView = InflateUtils.inflate(mContext, R.layout.contact_list_item);
convertView = InflateUtils.inflate(mContext, R.layout.contact_list_item_container);
cvh = new ContactViewHolder(innerView);
convertView.setTag(cvh);
}
/* Getting message */
Message message = getItem(position);
MessageSender sender = message.getSender();
/* View settings */
cvh.configureViewFromMessage(sender, message, mContext);
/* Context is used to reach App's Resources */
return convertView;
}
的问题是:
- 有ViewHolder内这些方法(可能是许多)可能导致性能问题?
- 我应该在ViewHolders中只保留严格要求的字段和没有方法吗?
请显示您的自定义适配器 –