如何在Android中重置ImageView内存?

时间:2018-02-15 11:50:22

标签: android image memory-leaks bitmap out-of-memory

我的应用是问答类型的事情。所以我将特定字符串加载到一个活动中,该活动显示它。我的问题是,当我改为一个新的问题,例如q1 - > q2,它将加载另一个字符串和图片。但是这张照片在我改为s2后仍保留在记忆中 - > s3因此导致内存不足。如何重置ImageView以使其不会留在内存中? 我对android很新。

代码大致是这样的。

    public void getdata(){
        imageView.setImageResource(0);
        switch (data){
            case 1;
            row1.setText(qt1r1);
            row2.setText(qt1r2);
            imageView.setImageResource(R.drawable.q1);
            break;
            case 2;
            row1.setText(qt2r1);
            row2.setText(qt2r2);
            imageView.setImageResource(R.drawable.q2);
            break;
        }

    }

1 个答案:

答案 0 :(得分:0)

这取决于你的资源分辨率。这是一个很好的图书馆。你可以像这样解决你的问题

Glide.with(fragment)
.load(R.drawable.resource_id)
.into(imageView);

对于资产,您可以构建资产uri:

Glide.with(fragment)
.load(Uri.parse("file:///android_asset/assetName"))
.into(imageView);

Here is a library