Я использую Apache Felix и приложение OSGI на Android (3.2).Пока это работает довольно хорошо, но у меня есть довольно большие куски данных для загрузки в приложение (пакеты osgi).Проблема в том, что когда я загружаю самый большой кусок данных, я получаю
LinearAlloc превысил емкость
Кажется, ошибка исходит от
LinearAlloc.c
\#define DEFAULT_MAX_LENGTH (4*1024*1024)
if (nextOffset > pHdr->mapLength) {
/*
* We don't have to abort here. We could fall back on the system
* malloc(), and have our "free" call figure out what to do. Only
* works if the users of these functions actually free everything
* they allocate.
*/
LOGE("LinearAlloc exceeded capacity, last=%d\n", (int) size);
dvmAbort();
}
afaik в 3.2 / 4.x это даже 8 *1024* 1024, но я все же достиг этого предела.Я пытаюсь лучше понять причины этой проблемы и то, как я могу ее исправить.Любая помощь будет оценена.