我有两个活动:A和B.从A开始,我转到活动B.然后我在B上调用finish()并返回A.每次重复此过程时,分配的内存增加0.1 MB。
所以我想找出造成这种泄漏的原因。我试图通过在刚才提到的过程中跟踪分配的内存来使用分配跟踪器。然后,当我按下“获取分配”时,我会获得一长串分配。我的问题是:如何阅读该列表以找出导致我泄漏的原因?
我试图通过释放活动B的onDestroy方法中的所有资源来解决这个问题,这有点帮助。而且,我没有在活动A的onResume方法中分配新的内存。
只是为了表明我正在使用分配跟踪器:
答案 0 :(得分:17)
你应该结帐this video,它详细解释了内存泄漏的发现并且很棒:)
答案 1 :(得分:0)
我认为Allocation Tracker是已分配给内存(即初始化)的项目的日志。它不是当前内存中项目的快照。你需要看看堆。