Вы пытаетесь получить разделы исходного растрового изображения, которые не существуют.
Поставьте точку останова на линии:
scambledImage.add(Bitmap.createBitmap(bMapScaled, xCoord, yCoord, finalSize, finalSize));
И вы увидите, что он когда-нибудь выйдет из строя после первой итерации массива, потому что каждый раз, когда вы смещаете начальную точку, какой "фрагмент" большой карты вы захватываете xCoord / yCoord.
Моя догадка говорит, что ваш расчет для finalSize неверен, но я могу только догадываться, поскольку мы не знаем точно, чего вы пытаетесь достичь.