Hi,

 I had the same problem.
you can execute a runnable to start your frame animation like this

Handler startHandler = new Handler();
        startHandler.postDelayed(new Runnable(){
            public void run() {
                //animate
                animate();
 }}, 100);


hope it helps you

On Tuesday, November 23, 2010 5:34:50 PM UTC+9, Serdel 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to