【问题标题】:Complex activity issues复杂的活动问题
【发布时间】:2012-03-08 19:29:16
【问题描述】:

我认为我的问题是因为我滥用了继承。我有 4 个活动,都扩展了共享公共代码的 BaseActivity(onClick、onItemClick、静态和非静态方法)。每个活动都从网络获取数据——包括图像。当我长时间使用整个应用程序时,我会遇到内存泄漏错误(VM 不允许我们分配 xxx 字节)和应用程序崩溃。

如果我正确理解 - 这是因为通过扩展这 4 个活动,我使它们类似于基本活动的内部类 - 这就是为什么当我在它们之间切换时不会调用它们的 onDestroy() 方法。此外 - GC 不回收任何 RAM 并且堆被阻塞。 BaseActivity 保存所有数据(例如图像),因此允许在单击后退按钮时显示它们,而无需重新创建数据。

如果这是真的 - 另一种选择是通过使用帮助类来共享公共代码使它们分开 - 但是,当我将在活动之间切换时 - 他们将一遍又一遍地下载它的数据。

我是对的,有什么解决办法吗?

【问题讨论】:

    标签: android memory-leaks


    【解决方案1】:

    所以,如果不看一些代码就很难回答,但是扩展 Activity 类不应该真的导致内存泄漏。您很可能会从 Web 请求中获取大量不必要的数据。你说你在下载图片,对吧?我先看看那里。

    【讨论】:

      猜你喜欢
      • 2019-05-26
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 2023-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多