Utwórz animowany ekran powitalny za pomocą ramek na Androida

Oto oferta, przeszukałem każde pytanie i link online, ale żadna nie jest pomocna. Mam 120 klatek animacji w formacie .jpg dla mojego ekranu powitalnego. Rozumiem, że pliki JPEG są konwertowane na bitmapy w pamięci, dlatego otrzymuję błąd OutOfMemoryError. Maksymalne klatki, które mogę animować, to 10. Czy jest jakiś sposób na zrobienie tego klatka po klatce, czy powinienem spróbować czegoś innego. Oto mój kod:

    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();
       }
    });

Umieściłem 120 jpegów w folderze drawable z prefiksem „l” (np. L1, l2 itd.). Robię zbieranie śmieci co 3 jpeg, ale to nic nie da.

questionAnswers(3)

yourAnswerToTheQuestion