Tag: 泄漏

缓存的图片在旋转时仍然会增加内存使用量

我知道在Android的可绘制内存泄漏。 我看了很多指南,并试图自定义缓存Drawable。 我做了什么测试: public class myApp extends Application { public static HashMap<String, Drawable> test_svg_drawables = new HashMap<>(); … public void onCreate() { super.onCreate(); … test_svg_drawables.put("i1", ContextCompat.getDrawable(this, R.drawable.ic_svg_image1)); test_svg_drawables.put("i2", ContextCompat.getDrawable(this, R.drawable.ic_svg_image2)); test_svg_drawables.put("i3", ContextCompat.getDrawable(this, R.drawable.ic_svg_image3)); test_svg_drawables.put("i4", ContextCompat.getDrawable(this, R.drawable.ic_svg_image3)); } 在我的Activity onCreate(Kotlin)上: imageView1.setImageDrawable(test_svg_drawables.get("i1")) imageView2.setImageDrawable(test_svg_drawables.get("i2")) imageView3.setImageDrawable(test_svg_drawables.get("i3")) imageView4.setImageDrawable(test_svg_drawables.get("i4")) 正如大家所说,因为即时通讯使用缓存Drawables,它应该增加内存只有在第一次创建,并保持相同的内存使用情况,但这不是真的发生,看看这个内存监视器: enter image description here 为什么它在旋转屏幕的同时还在不断增长? 从40mb(首创)到110mb(经过一些轮转) 我已经有一些老版本的内存泄漏,并试图避免它再次 我应该担心吗? (在我拍照之后10分钟仍然是110mb,我完成了活动) ps1:使用svg_drawable(从AndroidStudio导入 – […]