Когда я пытаюсь загрузить изображения с телефона memmory, я получаю Out Of Memory errorjava/lang/OutOfMemoryError или nativedecodeImage. Некоторые изображения в памяти телефона составляют 12kd, а некоторые другие - около 589kb или 600kb. Изображения небольшого размера выбираются в список, но когда дело доходит до изображений большего размера, они бросают ошибку OOM .. ??Как справиться с OutOfMemoryError
Это мой код
FileConnection finalConnection;
try
{
fc.close();
finalConnection = (FileConnection) Connector.open(path, Connector.READ_WRITE);
if(finalConnection.exists())
{
InputStream fis = finalConnection.openInputStream();
long overallSize = finalConnection.fileSize();
int length = 0;
byte[] imageData = new byte[0];
while (length < overallSize)
{
byte[] data = new byte[CHUNK_SIZE];
int readAmount = fis.read(data, 0, CHUNK_SIZE);
byte[] newImageData = new byte[imageData.length + CHUNK_SIZE];
System.arraycopy(imageData, 0, newImageData, 0, length);
System.arraycopy(data, 0, newImageData, length, readAmount);
imageData = newImageData;
length += readAmount;
}
fis.close();
finalConnection.close();
System.out.println("LENGTH IS " + length);
if (length > 0)
{
image = Image.createImage(imageData, 0, length);
}
}
else
{
System.out.println("NO PATH FOR IMAGE");
}
}
catch (Exception e)
{
System.out.println("Image.createImage(imageData, 0, length) " +e.toString());
}
catch(Error e)
{
System.out.println("Image.createImage " + e);
}
Точка, в которой я получаю ошибки в
image = Image.createImage(imageData, 0, length);
Кто-нибудь есть идеи по этому поводу. Я застрял с этой штукой в течение нескольких дней. Работаю на устройствах S40 Nokia 311. Netbeans MIDP 2.0