一个简单的测试应用程序:一个ImageView,两个Button和一个函数
public void onClick(View v)
{
String photoId = (v.getId() == R.id.button1)?"2472":"2434";
Uri uri = Uri.withAppendedPath(ContactsContract.Data.CONTENT_URI, photoId);
ImageView img = (ImageView)findViewById(R.id.imageView1);
img.setImageURI(uri);
}
我点击几次按钮 - 照片被正确加载。但LogCat说(几行):ERROR / MemoryFile:当ashmem仍然打开时调用MemoryFile.finalize()。
嗯...
有问题吗?如何使用setImageURI?
答案 0 :(得分:2)
现在我使用以下内容:
final java.io.InputStream input = context.getContentResolver().openInputStream(uri);
final Bitmap bm = BitmapFactory.decodeStream(input);
input.close();
imageView.setImageBitmap(bm);
我不确定它是否更好,但就此而言,LogCat是静默的。