Imagem de alta resolução - OutOfMemoryError

Estou desenvolvendo um aplicativo para o Galaxy S4. Um dos requisitos do aplicativo é ter um SplashScreen contendo uma imagem de1920x1080 píxeis. É uma imagem .jpeg de alta qualidade e o tamanho da imagem é sobre2 megabytes.

O problema é que eu estou recebendo umErro de falta de memória assim que eu iniciar o aplicativo. Estou bastante chocado que isso já acontece com uma imagem de apenas 2 megabytes de tamanho?Como posso corrigir esse problema e exibir a imagem?

Alterar as dimensões ou o tamanho da imagem não é uma opção.

SplashScreen.java

public class Splashscreen extends Activity {

private static final int SPLASH_DURATION = 2000;
private boolean isBackPressed = false; 

@Override
protected void onCreate(Bundle savedInstanceState) {

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splashscreen);

    Handler h = new Handler();

    h.postDelayed(new Runnable() {

        @Override
        public void run() {

            // check if the backbutton has been pressed within the splash_duration
            if(!isBackPressed) { 

                Intent i = new Intent(Splashscreen.this, MainActivity.class);
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                Splashscreen.this.startActivity(i);
                overridePendingTransition(R.anim.short_fade_in, R.anim.short_fade_out);
            }       

            finish();
        }
    }, SPLASH_DURATION);
}

@Override
public void onBackPressed() {

    isBackPressed = true;
    super.onBackPressed();
}
}

E o splashscreen.xml

    <ImageView 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ivSplashScreenImage"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:scaleType="fitXY"
        android:src="@drawable/high_res_splashscreen_image"/>

INFORMAÇÃO ADICIONAL:

Às vezes, quando há muita memória disponível no dispositivo, o aplicativo consegue passar pela tela inicial, mas,o consumo de memória do aplicativo é simplesmente insano. (cerca de 100 megabytes). Apesar de eu fechar a atividade SplashScreen e terminar (), parece que existeuma referência ao ImageView / Image mantido na memória.

Como posso reduzir o enorme consumo de memória?

Quando não exibo a tela inicial, meu aplicativo consome apenas cerca de 35 MB de memória. Com a imagem do SplashScreen, é cerca de 100MB.

questionAnswers(2)

yourAnswerToTheQuestion