【发布时间】:2013-07-10 06:01:46
【问题描述】:
我想快速更改屏幕上的一张图像。它在 htc 欲望 s 或 sumsung s1 上没有任何问题。但是在 s3 或大屏幕设备上安装应用程序时。图像变化缓慢,一段时间后强制关闭应用程序。错误是:“6354208 字节分配内存不足。”我更改了图像分辨率,效果更好,但错误无法修复,有时会发生。 s3 中已用内存为 35 mb!!!
float accelationSquareRoot = (x * x + y * y + z * z)
/ (SensorManager.GRAVITY_EARTH * SensorManager.GRAVITY_EARTH);
long actualTime = System.currentTimeMillis();
if (accelationSquareRoot >= 1.5) //
{
if (actualTime - lastUpdate < 30) {
return;
}
Random r=new Random();
randomWord+=r.nextInt(3);
randomWord%=4;
lastUpdate = actualTime;
isStarted=true;
// ((BitmapDrawable)shakedButton.getDrawable()).getBitmap().recycle();
switch (randomWord) {
case 0:
shakedButton.setImageResource(R.drawable.alef);
break;
case 1:
shakedButton.setImageResource(R.drawable.b);
break;
case 2:
shakedButton.setImageResource(R.drawable.jim);
break;
case 3:
shakedButton.setImageResource(R.drawable.dal);
break;
}
}
【问题讨论】:
-
您需要减少应用程序的内存使用量。您应该始终使用少于 16mb 的空间。
-
4 张图片中的每一张只有 38 KB 大小
-
您可以调整图片大小、重用对象等blog.gorges.us/2010/07/…
-
您还可以建议在执行内存密集型操作之前运行 GC。
System.gc(); -
你的 TargetSdkVersion 和 MinSdkVersion 是什么
标签: android animation bitmap imageview out-of-memory