ERROR / MemoryFile:当ashmem仍然打开时调用MemoryFile.finalize()

时间:2011-09-12 10:16:44

标签: android imageview uri

一个简单的测试应用程序:一个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?

1 个答案:

答案 0 :(得分:2)

现在我使用以下内容:

final java.io.InputStream input = context.getContentResolver().openInputStream(uri); 
final Bitmap bm = BitmapFactory.decodeStream(input);
input.close();

imageView.setImageBitmap(bm);

我不确定它是否更好,但就此而言,LogCat是静默的。