Android Studio:内存不足错误(活动生命周期?)

时间:2015-07-24 00:55:44

标签: java android out-of-memory

我创建的应用在主要活动中有3个按钮。单击时,每个按钮将转换为具有可绘制动画的不同活动。

单击其中一个按钮时,将显示具有可绘制动画的活动。如果我回到主活动并单击另一个按钮,会弹出一个消息框,显示"不幸的是,应用程序已停止"。

这是logcat给出的错误:

  

java.lang.OutOfMemoryError:无法分配8294412字节   分配4194304个空闲字节和6MB直到OOM

我认为它可能与活动生命周期有关。这三个按钮通过一个switch语句来启动每个按钮关联的活动,我尝试将finish();onDestroy();放在似乎每个逻辑位置没有运气的地方。

我的另一个想法是只有一个活动,但根据按下哪个按钮,将不同的动画传递给此活动。但我认为这种方法需要相当多的代码更改。

1 个答案:

答案 0 :(得分:0)

问题可能是这些动画的大小以及第二个动画加载的时间,而第一个仍在内存中。您应该在onResume中初始化动画并在onPause中从内存中清除它,以确保动画仅在需要时消耗资源。