Android:启动时内存不足(VM预算…),占总安装量的一小部分
我从Android Market上得到了一份典型的“VM预算超出内存-内存不足”类型的错误崩溃报告 我一遍又一遍地检查应用程序是否存在内存泄漏。这个错误只发生在应用程序总安装量的很小一部分上,大约1-2%,而且总是发生在启动时。该应用程序从内存中为每个活动加载一些位图,但在大多数设备上不会崩溃。我认为所有应用程序都有保证的位图最小堆栈大小,所以这应该适用于每个设备。最小SDK为7Android:启动时内存不足(VM预算…),占总安装量的一小部分,android,Android,我从Android Market上得到了一份典型的“VM预算超出内存-内存不足”类型的错误崩溃报告 我一遍又一遍地检查应用程序是否存在内存泄漏。这个错误只发生在应用程序总安装量的很小一部分上,大约1-2%,而且总是发生在启动时。该应用程序从内存中为每个活动加载一些位图,但在大多数设备上不会崩溃。我认为所有应用程序都有保证的位图最小堆栈大小,所以这应该适用于每个设备。最小SDK为7 有什么原因吗?这听起来有人熟悉吗?我也有类似的问题,我的图像对于某些设备来说太大了 我已经了解到,每个活动都有一个图
有什么原因吗?这听起来有人熟悉吗?我也有类似的问题,我的图像对于某些设备来说太大了 我已经了解到,每个
活动都有一个图像,我猜这是在从一个图像切换到另一个图像时发生的,因为新分配的可绘制的无法容纳。为了节省一些内存,您可以卸载未显示的活动的背景图像:
@Override
protected void onResume() {
super.onResume();
Drawable d = loadMyDrawableFromDisk();
setBackgroundDrawable(d);
}
@Override
protected void onPause {
setBackgroundDrawable(null);
super.onPause();
}
调用onPause()
后几分钟内存将被释放,而当系统未分配活动的基础视图时,内存将被释放,这可能会有所帮助