2014-03-07 59 views
1

嗨我試圖從幾個PNG圖像創建一個標誌動畫我創建了一個動畫,它崩潰時出現內存不足錯誤。有沒有人知道這個解決方案?使用AnimationDrawable時出現內存不足錯誤

繼承人是我迄今爲止

我的繼承人名單的動畫

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:drawable="@drawable/intro_animation_00" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_01" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_02" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_03" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_04" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_05" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_06" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_07" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_08" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_09" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_10" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_11" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_12" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_13" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_14" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_15" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_16" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_17" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_18" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_19" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_20" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_21" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_22" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_23" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_24" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_25" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_26" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_27" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_28" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_29" android:duration="50" /> 
    <item android:drawable="@drawable/intro_animation_30" android:duration="50" /> 
</animation-list> 

我的繼承人佈局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:background="@drawable/bg" 
    tools:context=".MenuActivity" > 

     <ImageView 
      android:id="@+id/myanimation" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@anim/intro_animation" 
     /> 

</RelativeLayout> 

我的繼承人活動

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.layout_menu); 
     ImageView myAnimation = (ImageView)findViewById(R.id.myanimation); 
     final AnimationDrawable myAnimationDrawable 
     = (AnimationDrawable)myAnimation.getDrawable(); 

     myAnimation.post(
     new Runnable(){ 

      @Override 
      public void run() { 
      myAnimationDrawable.start(); 
      } 
     }); 

    } 
+1

在模擬器中增加你的堆內存大小.. –

+0

我使用的設備不是模擬器 –

回答

3

嘗試添加largeHeap=true在您的
清單的應用程序標記中。

我希望這個幫助。

或嘗試使用小尺寸的圖像。

+0

乾杯這工作 –

+0

謝謝,這工作。幾乎覺得太容易了......剛剛看到這種方法的影響是增加了垃圾收集時間和其他應用程序可能存在內存問題的可能性(在各個應用程序的恢復中,我假設) –

+0

其臨時解決方案 –

相關問題