There's a problem with the current release (I guess), where these kind of
animations do not start if you call them directly from any of the activity's
lifecycle method. If you do the same thing, from within a thread, or on the
click of a button, this seems to work.


Kumar Bibek
http://techdroid.kbeanie.com
http://www.kbeanie.com



On Tue, Nov 23, 2010 at 2:04 PM, Serdel <adam.lichwierow...@gmail.com>wrote:

> Hello,
>
> I have problems with AnimationDrawable which i use to animate a
> 'striped' gif file. In fact I have two animations that I want to use
> in one activity (and they must be used in the same activity). Both
> animation are build with 7 frames :
>
> <?xml version="1.0" encoding="utf-8"?>
> <animation-list xmlns:android="http://schemas.android.com/apk/res/
> android"
>  android:id="@+id/analyse" android:oneshot="false">
>  <item android:drawable="@drawable/analyse_frame_0"
> android:duration="50" />
>  <item android:drawable="@drawable/analyse_frame_1"
> android:duration="50" />
> <item android:drawable="@drawable/analyse_frame_2"
> android:duration="50" />
>  <item android:drawable="@drawable/analyse_frame_3"
> android:duration="50" />
> <item android:drawable="@drawable/analyse_frame_4"
> android:duration="50" />
>  <item android:drawable="@drawable/analyse_frame_5"
> android:duration="50" />
> <item android:drawable="@drawable/analyse_frame_6"
> android:duration="50" />
> </animation-list>
>
> The second one is the same, just different files but also 7 frames.
>
> In the onCrate() method of my activity I start the first animation and
> launch a 15 second timer (the idea is that the first animation is
> playing when the timer ticks). I use the following code:
>
>      //The onCreate method of the activity class.
>      public void onCreate(Bundle savedInstanceState) {
>                      super.onCreate(savedInstanceState);
>                      setContentView(R.layout.third);
>
> setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
>
>                      layout =
> (LinearLayout)findViewById(R.id.widget40);
>                      analyseImage = (ImageView)
> findViewById(R.id.ImageView02);
>
> analyseImage.setBackgroundResource(R.drawable.analyse_animation);
>
>                      analyseAnimation = (AnimationDrawable)
> analyseImage.getBackground();
>                      analyseAnimation.start();
>
>                      MyCount counter = new MyCount(15000,1000);.
>                      counter.start();
>                  }
>
>
> Unfortunately this does not work. However when the timer finishes I
> want to start a second animation and launch a seperate thread. And
> this works - when I start the animation in the 'onFinish' method of
> the timer, the animation starts properly:
>
>   //the onFinish() method of timer.
>      public void onFinish()
> {
>
> layout.setBackgroundResource(R.drawable.id_app4);
>
>
> analyseImage .destroyDrawingCache();
>
> analyseImage .setVisibility(View.GONE);
>
>                                      connectImage = (ImageView)
> findViewById(R.id.ImageView02);
>
> connectImage.setBackgroundResource(R.drawable.connect_animation);
>                                      connectAnimation =
> (AnimationDrawable) analyseImage.getBackground();
>
> connectAnimation.start();
>
> startThread(connectTh,myConnector);
>                        }
>
> Unfortunately this does not work so good because it only works when I
> comment-out the first one - otherwise I get an Exception :
> 'OutOfMemoryError: bitmap size exceeds VM budget'. As you see I try to
> release some memory but this does not help. This is a crucial problem,
> since my application is working in a 'ring' of couple activities. So
> when I finish the last one it goes back to the first one - it is
> possible that the activity with animations will be called many times
> in the life-time of the whole app. So I need to release the memory
> from the second one as well.
>
> So now here are my questions:
> - why can't I start the first animation instantly after the activity
> starts and how to do this?
> - How to release the memory from the animations?
>
> Can anyone please help?
>
> PS: I am working on Android 1.5
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to