我尝试在单击按钮时加载动画。我在资源文件夹中有90张图片,我尝试加载它们,每张图片大约有1张。当我单击按钮开始动画时大小为50kb,出现异常情况为OutOfmemory。请检查以下代码。任何帮助将不胜感激。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startbtn=(Button) findViewById(R.id.myStartButton);
stopbtn=(Button)findViewById(R.id.myStopButton);
startbtn.setOnClickListener(this);
stopbtn.setOnClickListener(this);
images=(ImageView) findViewById(R.id.myImageView);
images.setBackgroundResource(R.drawable.demo_animation);
AniFrame = (AnimationDrawable)images.getBackground();
}
public void onClick(View v) {
if(v.getId()==R.id.myStartButton)
{
AniFrame.start();
}else if(v.getId()==R.id.myStopButton)
{
AniFrame.stop();
}
}
最佳答案
图像是否被压缩(jpg或png)?我认为将它们加载到内存后会转换为位图格式,并使用更多的内存(每个像素最多4个字节)。
这可能是导致内存不足的原因。您无法像在磁盘上那样计算90x50kb,请考虑使用90 x 750Kb。