Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Animation 多次重新加载活动时出现内存不足错误_Animation_Out Of Memory_Image Scaling_Android 2.1 Eclair - Fatal编程技术网

Animation 多次重新加载活动时出现内存不足错误

Animation 多次重新加载活动时出现内存不足错误,animation,out-of-memory,image-scaling,android-2.1-eclair,Animation,Out Of Memory,Image Scaling,Android 2.1 Eclair,我正在开发一个应用程序,它有一个显示应用程序标题(两个动画图像视图叠加)、两个动画图片(也叠加)和三个按钮的主要活动。此活动还有一个背景图像,与其他活动使用的背景图像相同 该应用程序从一个活动流向另一个活动,最终,该主要活动再次启动(带有标志“活动”和“清除”顶部)。一切正常,但在多次重新加载后,我的Android 2.1设备出现内存不足错误 起初,我把所有的图片都放在drawable文件夹中,问题出现在5次到达主活动之后。然后,我调整了位图的大小,并根据密度将它们放在适当的文件夹中,问题在到达

我正在开发一个应用程序,它有一个显示应用程序标题(两个动画图像视图叠加)、两个动画图片(也叠加)和三个按钮的主要活动。此活动还有一个背景图像,与其他活动使用的背景图像相同

该应用程序从一个活动流向另一个活动,最终,该主要活动再次启动(带有标志“活动”和“清除”顶部)。一切正常,但在多次重新加载后,我的Android 2.1设备出现内存不足错误

起初,我把所有的图片都放在drawable文件夹中,问题出现在5次到达主活动之后。然后,我调整了位图的大小,并根据密度将它们放在适当的文件夹中,问题在到达主活动14次后出现。现在,出于测试目的,我刚刚删除了背景图像,在20多次重新启动后,内存不足的情况出现了

此外,如果我按下Home(主页)按钮,然后切换回我的应用程序,问题似乎要过很久才会出现

此外,我在Nexus5中测试了该应用程序,内存不足从未发生过

所以。。。我的手机有问题吗?使用安卓2.1

谢谢

[编辑] 我想我已经找到了问题所在,但仍然有奇怪的行为

例如,在某一点上,我需要重新创建活动。由于“重新创建”方法不适用于我的min API级别(7),因此我按如下方式执行:

Intent refresh = new Intent(getActivity(), getActivity().getClass());
refresh.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(refresh);  
我认为这是正确的。我释放onClickListeners并清除onStop()中的动画。但是,如果我在onStop()中放置了断点,则在我期望它发生时不会调用它。有时会在重新创建活动后立即调用,但有时会在几秒钟后调用


但是,如果我按下Home按钮,将正确调用onStop,当我切换回应用程序时,一切都正常。

最简单的解决方案是在应用程序标记下添加清单

android:largeHeap="true" 
但这并不能解决你的问题,只需再推迟几轮就行了 此链接将帮助您分析应用程序,并查看导致此问题的原因:

我猜这与图像有关,因为我也有这个问题。。 与此问题相关的android官方链接是:

这是帮助我的链接。。试试看


希望这有助于发布一些代码,谢谢!这些链接,连同我一起帮助我解决了这个问题。现在,由于区域设置的原因,出现了类似的问题。我将就此提出一个新问题。对不起,我不能投票支持你,你的声誉还不够好。你能把这个问题标记为已解决吗?如果这解决了你的问题:)