gpt4 book ai didi

Android 内存泄漏 - setBackgroundDrawable - 带有图像

转载 作者:行者123 更新时间:2023-11-30 02:26:40 25 4
gpt4 key购买 nike

当用户点击一个按钮时,我在 Activity 代码中不断切换布局的背景:

...
mylayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img1));//On First click
mylayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img2));//On Second Click
mylayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img10));//On 10th Click
...
mylayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img1));//On 11th Click 1st image again and so on.

我有 10 张图像,我一直在旋转。
很快,它会导致 OutOfMemory 异常。我做错了什么?

如果它在我的 list 文件中很重要,我有:

android:minSdkVersion="11"
android:targetSdkVersion="17" />

编辑 1
图片平均大小为:50K
图片的平均尺寸为:600x450
所有图像img1、img2等..都是jpeg图像

解决方案更新
将图像尺寸减小到 300x200 解决了这个问题。通过这一单一更改,内存需求显着下降。

最佳答案

这可能是因为您的图像资源位于 drawable 文件夹中;这相当于 drawable-mdpi。您的设备可能不是 mdpi

因此,要么提供您要支持的所有熨平板密度的图像。或者,将图像放在 drawable-nodpi 中,这样您的图像就不会调整大小。因此没有 OutOfMemoryException

Referred from here

关于Android 内存泄漏 - setBackgroundDrawable - 带有图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27848572/

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