我有一个 SQL 数据库,我将使用我需要在列表中显示图标的数据库获取名称字符串。为此,我遵循了两种方法,一种是:
int id= context.getResources().getIdentifier(path + i.getIcon(),null, null);
我发现这种方法效率不高,所以我采用了其他一些技术,即
try {
Class res = R.drawable.class;
Field field = res.getField(i.getIcon());
drawableId = field.getInt(null);
holder.ContactImage.setImageResource(drawableId);
}
catch (Exception e) {
Log.e("MyTag", "Failure to get drawable id.", e);
holder.ContactImage.setImageResource(R.drawable.ic_all_contacts_green);
}
这里的问题是,有时我从 DB 获得的图标名称不会出现在 Drawable 文件夹中,那时我觉得如果我尝试滚动我的 UI 很慢,我尝试使用上述两种技术但我发现没有用.
如何克服这个问题,当图标丢失时,第一个方法抛出 NULL 而第二个方法显示异常,但为什么这样做要花太多时间呢?如何防止我的用户界面迟缓,任何有效的技术?