android - 使用谷歌地图后清除内存

标签 android google-maps android-activity out-of-memory

我有一个问题。

我有一个包含 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/

相关文章:

javascript - 在谷歌地图中显示零售商

Android:将 List<GeoPoint> 传递给另一个 Activity

java - 在偏好 Activity 中静音

Android - 让 GMailSender 工作有问题吗?

android - 设置 AlertBox 标题栏背景颜色

java - 写入 SD 卡时 Kitkat 中的 EACCES 权限被拒绝

java - 动画仅在第一次单击按钮时移动

ios - 在 UIView 中正确显示谷歌地图

java - 何时调用 editor.apply?

google-maps - Google map API 在 safari 中不起作用