我有一个问题。
我有一个包含 2 个 Activity 的应用程序。它们都是ActionBarActivity。
当我像这样启动 map Activity 时:
Intent i = new Intent();
i.setClass(MainActivity.this,MapsActivity.class);
startActivity(i);
finish();
在 map Activity 中加载 map 后,当我按下后退按钮时一切正常,我称之为:
Intent i = new Intent();
i.setClass(MapsActivity.this,MainActivity.class);
startActivity(i);
finish();
mMap = null;
我在那里遇到了一个问题,因为当我启动 map Activity 时,我看到分配的内存从 30 MB 增长到 120 MB...这没问题。但是当我完成第二个 Activity ( map Activity )时,分配的内存仅下降到 110 mb。所以在后面的某个地方我有 110 Mb 的信息没有被使用。正因为如此,我在第一个 Activity 中遇到内存异常(当第一个 fragment 加载 ListView 时)。怎么办?
请帮助我 :) 谢谢!
最佳答案
不幸的是,这是一个已知的 issue .由于没有可用的 map.destroy() 函数,因此几乎无能为力。但是,如链接中所述,此类问题的解决方法是在将来重新使用您的 Map 实例。
既然我们进入了主题,这里是另一个 link关于避免 Android 中的内存泄漏。希望这些链接有助于阐明这个问题。
关于android - 使用谷歌地图后清除内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28551142/