繁体   English   中英

为什么堆大小会不断增加?

[英]Why does heap size keep increasing?

我有一个具有很多波纹效果和动画的应用程序。

我尝试在多个屏幕之间来回切换,还尝试了垃圾邮件点击按钮。

我注意到,即使某些屏幕已经关闭,堆大小仍在不断增加。

当我检查堆转储时,具有最高保留堆的类是android.graphics.Bitmap类,它指向我单击的所有具有波纹效果的按钮。

按钮上的波纹效果只是简单的波纹,它使用?attr/selectableItemBackgroundBorderless作为背景。 但是,每次单击带有波纹的按钮时,它会增加0.3mb或0.5mb。

可能是某种MemoryLeak。 如果不分析代码,几乎不可能分辨出问题出在哪里。 我推荐一些测试。

您可以尝试Leak Canary库。 lib可以“监视”特定对象并缩小搜索范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM