Эта проблема оказывается сложной.
Вот что я пытаюсь сделать
- получить 2-D данные карт (ширина * высота) из файла.
- передача данных через JNI - в мои собственные библиотеки.
- в собственном коде обработка выполняется, и данные анализируются для генерации пикселей изображения.
- массив int возвращается из JNI в JAVA, размер которого увеличивается в соответствии со значениями RGB (3 * ширина * высота).
Мой код вызывает сбой JVM: ниже приведены замечания
Недостаточно памяти: больше нет фоновых процессов.
- Я попытался создать AsyncTask - чтобы убедиться, что процесс не создает проблему с основным потоком пользовательского интерфейса [но это не помогло ...]
- даже я пытался создать службу, так что мой расчет перегрузки памяти выполняется в фоновом режиме [это все еще происходит… обновится, если это будет работать]
E / InputDispatcher (92): канал '40531b68 pv.ndk / pv.ndk.NdkActivity (сервер)' ~ Потребитель закрыл входной канал или произошла ошибка.events = 0x8 14.160: E / InputDispatcher (92): канал '40531b68 pv.ndk / pv.ndk.NdkActivity (server)' ~ Канал неисправен и сломан!
- не уверен, чтоэто .. Я не думаю, что это может быть причиной проблемы, так как мое приложение не принимает какие-либо пользовательские данные в данный момент времени
Планирование перезапуска аварийного сервиса.google.android.inputmethod.latin / com.android.inputmethod.latin.LatinIME в 73849ms
- В данный момент я не отображаю никакой существенной текстовой информации / никакой интернационализации .. поэтому ясчитаю, что это не должно быть одной из причин ..
Пожалуйста, дайте мне знать, если я на неправильном пути ... !!Следующим шагом будет также анализ дампа памяти, чтобы выяснить, откуда происходит сбой.