Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.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
android应用程序的正常内存消耗?_Android_Memory_Stack_Destroy - Fatal编程技术网

android应用程序的正常内存消耗?

android应用程序的正常内存消耗?,android,memory,stack,destroy,Android,Memory,Stack,Destroy,在活动之间切换时,我的应用程序内存消耗似乎相当高。我的快速解释是,我有一个活动a,它是单顶的,基本上是主屏幕,你在列表中选择一个项目,它会带你到活动B,它是列表项目的一个更详细的版本。然后按back键,它将完成返回ActivityA的活动。这两个活动都有非常丰富的控件,并有高质量的图像分散在周围,但肯定有一些东西不在这里 我绘制了一个快速图表来显示生命周期: 正如你所看到的,当应用程序第一次启动时,它是34MB,在选择一个列表项后,它会上升2.5MB,然后当我按back时,它会再次上升。。这将

在活动之间切换时,我的应用程序内存消耗似乎相当高。我的快速解释是,我有一个活动a,它是单顶的,基本上是主屏幕,你在列表中选择一个项目,它会带你到活动B,它是列表项目的一个更详细的版本。然后按back键,它将完成返回ActivityA的活动。这两个活动都有非常丰富的控件,并有高质量的图像分散在周围,但肯定有一些东西不在这里

我绘制了一个快速图表来显示生命周期:

正如你所看到的,当应用程序第一次启动时,它是34MB,在选择一个列表项后,它会上升2.5MB,然后当我按back时,它会再次上升。。这将继续发生,而来回。我需要确定的第一件事是,这是否是应用程序的正常行为?如果不是这样的话,我显然有一些工作要做,以释放一些资源,问题是,什么

在ActivityB的onDestroy()中,我从所有接收者处注销,我对我使用的任何东西调用finish(),甚至尝试将所有内容设置为null,但仍然没有更改!我在启动或完成ActivityB时没有使用特殊标志,这可能是问题的一部分吗?堆栈的历史可能还在继续

编辑:


我使用SceneTransitionAnimation在两个活动之间移动图像,当我关闭此功能时,每次从A移动到B时,图像都会增加0.5MB,从B移动到A时,图像会增加0.01MB。我想我应该问一个问题,在仍然使用SceneTransitionAnimation的情况下,如何避免更大幅度的增加???

使用位图尝试这些方法?如果是这样的话,请检查:我确实使用位图,但我已经在任何地方尝试过这种解决方案,而且没有任何区别