两天前我注意到了一些东西。我对地图活动有一个微调。在活动的OnCreate()方法中,我使用数据填充微调器。之后,我开始在DDMS中的堆分析器,我开始打开/关闭微调器。当我打开微调项时,我注意到虚拟机分配内存,但是当我关闭它时,虚拟机不释放这个内存。我试图启动GC,但内存仍然分配。我一个接一个地做了20次,分配的内存从3.5MB增加到7MB。哪里不对?我在谷歌组中发现了一个问题,但他们还没有回答。
Spinner memory leakAndroid - 内存泄漏还是?
我重写了所有我的代码在微调适配器,但问题仍然存在。 我读了一些意见这个话题
中也有一些是我没得到:
当可提拉连接到一个视图,该视图设置为在绘制的回调。在上面的代码片段中,这意味着drawable引用了TextView,它本身具有对活动的引用(Context),它依次引用任何东西(取决于您的代码)。
什么这是什么意思?如果我有一个textview并将其设置为可绘制对象(我注意到drawable是静态的),textview对象具有对可绘制对象的引用,并且可绘制对象也具有对该视图的引用?如果这是真的,他们变得不可被GC破坏,因为他们都有彼此的引用。什么是这些对象之间的回参考(回调)依赖关系?
没有得到,要么tbh – 2017-01-14 09:07:32