Erstellen Sie unter Android einen animierten Begrüßungsbildschirm mit Frames

Also hier ist der Deal, ich habe jede einzelne Frage und jeden Link online durchsucht, aber keiner ist hilfreich. Ich habe 120 Frames einer Animation im JPG-Format für meinen Begrüßungsbildschirm. Ich verstehe, dass JPEGs in Bitmaps im Speicher konvertiert werden, deshalb bekomme ich einen OutOfMemoryError. Die maximale Anzahl an Frames, die ich animieren kann, ist 10. Gibt es eine Möglichkeit, dies Frame für Frame auszuführen, oder sollte ich etwas anderes ausprobieren? Hier ist mein Code:

    final AnimationDrawable anim = new AnimationDrawable();
    anim.setOneShot(true);

    for (int i = 1; i <= 120; i++) 
    {
        Drawable logo = getResources().getDrawable(getResources()
                  .getIdentifier("l"+i, "drawable", getPackageName()));

        anim.addFrame(logo, 50);
        if (i % 3 == 0)
        {
            System.gc();
        }
    }

    ImageView myImageView = (ImageView) findViewById(R.id.SplashImageView);
    myImageView.setBackgroundDrawable(anim);
    myImageView.post(new Runnable()
    {
       public void run()
       {
          anim.start();
       }
    });

Ich habe die 120 JPEGs unter den Zeichenordner mit dem Präfix "l" gelegt (z. B. l1, l2 usw.). Ich sammle alle 3 JPEGs Müll, aber das macht nichts.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage