rro @OutOfMemory ao juntar imagens grandes

Estou juntando duas imagens usando o código abaixo, mas ele lança umOutOfMemory erro, minhas imagens têm cerca de 1 MB cad

private Bitmap overlayMark(String first, String second)
{
    Bitmap bmp1, bmp2;
    bmp1 = BitmapFactory.decodeFile(first);
    bmp2 = BitmapFactory.decodeFile(second);
    if (bmp1 == null || bmp2 == null)
        return bmp1;

    int height = bmp1.getHeight();
    if (height < bmp2.getHeight())
        height = bmp2.getHeight();

    Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth() + bmp2.getWidth(), height,
            Bitmap.Config.ARGB_8888);// Out of memory
    Canvas canvas = new Canvas(bmOverlay);
    canvas.drawBitmap(bmp1, 0, 0, null);
    canvas.drawBitmap(bmp2, bmp1.getWidth(), 0, null);
    bmp1.recycle();
    bmp2.recycle();
    return bmOverlay;
}

Atualizar Tentei abaixo de duas respostas, mas ainda não me permite criar bitmap de tamanho tão grande que o problema é que o bitmap resultante é muito grande em torno de 2400x3200, ficando sem memóri

Como posso juntar imagens grandes sem ficar sem memória?

questionAnswers(7)

yourAnswerToTheQuestion