Вообще никак нельзя определить, что приложение декомпилируется. Декомпилятор работает с кодом как с потоком байтов, а не исполняемой сущностью.
Ничего. См. ответ 1.
Это не поможет. Большинство декомпиляторов читают байт-код по частям, поэтому переполнить стак путём загрузки лишнего кода не получится. Тем более, как сказали выше, такие "пустышки" легко определяются.
Хотите защитить приложение? [Обфусцируйте][1] его. На Android, в частности, есть утилита [ProGuard][2].
[1] - https://ru.wikipedia.org/wiki/Обфускация
[2] - https://m.habrahabr.ru/post/112833/
Лучшая защита - не храните на мобильном устройстве логику, алгоритмы и важные данные.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый деньРаньше interface не имеел реализации и нам приходилось реализовывать абстрактные классы тд и тп