I am trying to perform an animation on a button click.. the steps are as follows on button click..
- the button image changes
- an animation plays
- next layout is displayed..
But am getting an out of memory exception..
When the animation file was not added to the project there was no error. But since the addition of the anime there is the problem.
I am using 3 class files here(home_screen, button_anime and home)
home_screen.java receives the button click information, changes the button image and transfers to button_anime class the animation file is initiated in the button_anime.java and after anime plays next layout is displayed from home.java
The log cat is as follows..
E/AndroidRuntime(1255): java.lang.OutOfMemoryError
E/AndroidRuntime(1255): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
E/AndroidRuntime(1255): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:587)
E/AndroidRuntime(1255): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:422)
E/AndroidRuntime(1255): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840)
E/AndroidRuntime(1255): at android.content.res.Resources.loadDrawable(Resources.java:2110)
E/AndroidRuntime(1255): at android.content.res.Resources.getDrawable(Resources.java:700)
E/AndroidRuntime(1255): at android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:282)
E/AndroidRuntime(1255): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:937)
E/AndroidRuntime(1255): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877)
E/AndroidRuntime(1255): at android.content.res.Resources.loadDrawable(Resources.java:2092)
E/AndroidRuntime(1255): at android.content.res.Resources.getDrawable(Resources.java:700)
E/AndroidRuntime(1255): at android.view.View.setBackgroundResource(View.java:15303)
E/AndroidRuntime(1255): at com.quinoid.thomasinternational.Button_Anime.onCreate(Button_Anime.java:19)
E/AndroidRuntime(1255): at android.app.Activity.performCreate(Activity.java:5231)
E/AndroidRuntime(1255): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
E/AndroidRuntime(1255): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
E/AndroidRuntime(1255): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
E/AndroidRuntime(1255): at android.app.ActivityThread.access$800(ActivityThread.java:135)
E/AndroidRuntime(1255): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
E/AndroidRuntime(1255): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(1255): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(1255): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime(1255): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1255): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(1255): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/AndroidRuntime(1255): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime(1255): at dalvik.system.NativeStart.main(Native Method)
My home_screen.java
home.setOnClickListener(new OnClickListener() { <-- error happens somewhere here
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Bitmap b = BitmapFactory.decodeResource(getResources(),R.drawable.home1);
Drawable d = new BitmapDrawable(getResources(),b);
home.setBackgroundDrawable(d); <-- this dose not work..
Intent myIntent = new Intent(Home_Screen.this, Button_Anime.class);
startActivity(myIntent);
}
});