Я получаю java .lang.OutOfMemoryError: Java пространство кучи , когда я пытаюсь запустить модульный тест (Тест еще не завершен: P ). Я прочитал другие ответы и попробовал их, но они мне не помогли. Я также пытался android: largeHeap = "true" , но затем я получаю ту же ошибку. Что я делаю не так?
Я получаю сообщение об ошибке BitmapFactory.decodeResource () , хотя я установил inJustDecodeBounds = true .
Вот тест: -
package org.catrobat.catroid.test.common;
import android.content.Context;
import android.graphics.BitmapFactory;
import org.catrobat.catroid.R;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import androidx.test.InstrumentationRegistry;
@RunWith(RobolectricTestRunner.class)
public class imageSize {
private Context mockApplicationContext = RuntimeEnvironment.application;
@Before
public void setUp()
{
mockApplicationContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
}
@Test
public void isMemoryAvailabletest()
{
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(mockApplicationContext.getResources(),
R.drawable.disco_light, options);
int width = options.outWidth;
int height = options.outHeight;
long dimension = width*height;
long size_Required = (dimension * 32) / (8);
long memory = 1;
assertTrue(size_Required < memory);
}
}