最近在我的一个应用程序中使用时,我经历了相当多的延迟ListView
。大约在问题出现的同时,我在关闭应用程序时开始收到以下错误消息。
E/libEGL(8501): error creating cache file /data/data/[my application's namespace]/cache/com.android.opengl.shaders_cache: No such file or directory (2)
由于我的设备没有植根,我无权访问该位置,并且可以验证文件是否存在、已损坏或已被删除。我不确定问题是什么。首先,这些问题是否相关?这似乎是一个奇怪的巧合。要清楚;我确实使用视图持有者模式来优化我的ListView
,并且它之前工作得很好,所以我的实现不太可能是罪魁祸首。
更新根据要求,这里是我的适配器getView
方法的代码。虽然我不认为它与问题有任何关系,但它在大约 5 个月之前运行良好,我很高兴满足您的问题。
@Override
public View getView(int position, View convertView, ViewGroup parentViewGroup)
{
final PersonaViewHolder viewHolder;
final Persona persona = provider[position];
if (convertView == null)
{
convertView = LayoutInflater.from(parentViewGroup.getContext()).inflate(R.layout.list_personas, null);
viewHolder = new PersonaViewHolder(
(ImageView) convertView.findViewById(R.id.persona_icon),
(TextView) convertView.findViewById(R.id.persona_description));
convertView.setTag(viewHolder);
} else {
viewHolder = (PersonaViewHolder) convertView.getTag();
}
Bitmap icon = BitmapFactory.decodeResource(parent.getResources(), persona.getPicture());
viewHolder.setIcon(icon, 50, 50);
viewHolder.setDescription(persona.getName() + " is a " + persona.getType() + "!");
return convertView;
}