Ответ
Размер стека в Android зависит от потока:
- Основной поток (UI Thread) – 8 МБ (начиная с Android 8.0, ранее 4 МБ).
- Фоновые потоки – 1 МБ (по умолчанию).
Можно изменить размер стека через конструктор Thread или HandlerThread:
Thread(null, runnable, "MyThread", 2 * 1024 * 1024) // 2 МБ
Важно:
- Слишком большой стек может вызвать
OutOfMemoryError. - Для глубокой рекурсии лучше использовать итеративные решения.
Проверить текущий размер можно через Runtime.getRuntime().totalMemory().