Как я опишу в этом вопросе, я не могу правильно использовать инкрементную компиляцию Gradle, так как почти вся наша кодовая база зависит друг от друга.Это приводит к тому, что почти 500 классов все время компилируются.
Я обнаружил, что многие зависимости классов вызваны использованием явного Intents, такого как:
Intent intent = new Intent(context, NewActivity.class);
Это создает классзависимость от текущего класса до NewActivity
.Соединение действий таким образом быстро формирует монолит зависимости класса.По крайней мере, большое дерево, если нет циклов, если нет чего-то, что я здесь скучаю.(Циклы обычны, не так ли?)
Я знаю, что этого можно избежать с помощью Implicit Intents , но, насколько я понимаю, это не предлагаемое использованиечехол для них.На самом деле Explicit Intents не имеет ненужного стандартного кода и предлагает проверки во время компиляции.
Интересно, как правильно решить эту проблему.Или это правильный (или, по крайней мере, распространенный) способ, и поэтапная компиляция - это скорее миф среди разработчиков Android?