【问题标题】:ERROR/MemoryFile: MemoryFile.finalize() called while ashmem still open错误/MemoryFile:在 ashmem 仍然打开时调用 MemoryFile.finalize()
【发布时间】:2011-09-12 10:16:44
【问题描述】:

一个简单的测试应用:一个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: MemoryFile.finalize() 在 ashmem 仍然打开时调用。
嗯……
有问题吗?如何使用 setImageURI?

【问题讨论】:

    标签: android imageview uri


    【解决方案1】:

    现在我使用以下内容:

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

    我不确定它是否更好,但 LogCat 是静音的。

    【讨论】:

      猜你喜欢
      • 2018-09-09
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 1970-01-01
      • 1970-01-01
      • 2017-02-25
      相关资源
      最近更新 更多