使用DrawableAnimation的Android内存不足错误

时间:2014-10-29 13:44:08

标签: android animation memory

我正在尝试使用多个DrawableAnimation运行应用。

  • 结构

    • MainActivity - ButtonA - ButtonB - ButtonC - ButtonD - ButtonE - Button F

      • ActivityA - ButtonA1 - ButtonA2 - ButtonA3 - ButtonA4
      • ActivityB - ButtonB1 - ButtonB2 - ButtonB3 - ButtonB4
      • ActivityC - ButtonC1 - ButtonC2 - ButtonC3
      • 设置 - 名称 - 日期 - 数字 -

因此,每个按钮Start a Short DrawableAnimation,每个动画有30到50个图像。我知道这有点野心勃勃,但我确定有办法做到这一点。

每个动画都以此代码开头:

private void addListenerOnButton() {
view = (ImageView) findViewById(R.id.image);
button = (Button) findViewById(R.id.startanimation);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {
        frameAnimation.stop(); frameAnimation = null;
        view.setBackgroundResource(R.drawable.animation01);
        frameAnimation = (AnimationDrawable) view.getBackground();
        frameAnimation.start();

我尝试使用动画停止或动画null来清理内存,但它不起作用。 我尝试使用位图回收但是,如果用户想要多次运行动画它不起作用导致回收不再使用它。 我知道垃圾收集器不是这样的。

那么,如何在完成后运行DrawableAnimation和Clean Memory,以避免Out of Memory错误?

1 个答案:

答案 0 :(得分:1)

对我来说这个代码工作正常

largeHeap=true

你必须放入清单的应用标签