gpt4 book ai didi

java - Android 资源中的图像导致内存泄漏

转载 作者:行者123 更新时间:2023-12-02 07:33:51 26 4
gpt4 key购买 nike

我从 Assets 中获取图像并分配给imageView,一切正常,但是当我看到堆内存大小时,当我一次又一次加载同一页面时,它会不断增长,下面是我用来从中获取图像的代码 Assets 文件夹。

private Bitmap getBitmapFromAsset(String strName) throws IOException
{
AssetManager assetManager = getAssets();

InputStream istr = assetManager.open(strName);
Bitmap bitmap = BitmapFactory.decodeStream(istr);

return bitmap;
}

//Code to assign bitmap to imageview
ImageView itemImage = (ImageView) findViewById(R.id.itemImage);
try {
Bitmap bm = getBitmapFromAsset("full/" + Uri.parse(menuItem.getFullImage()).getLastPathSegment());
itemImage.setImageBitmap(bm);
} catch (IOException e) {
e.printStackTrace();
}

这就是我正在做的所有事情,有什么地方需要回收位图吗?

最佳答案

在 onDestroy 添加

   @Override
public void onDestroy()
{

super.onDestroy();
if(bm != null)
{
bm.recycle();

}
}

另外进行内存转储并分析转储使用MAT 。如果您需要帮助,请参阅此视频 tutorial

关于java - Android 资源中的图像导致内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12545131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com