Facebook — одно из приложений для Android с самыми богатыми возможностями. Такие фичи, как push-уведомления, новостная лента и встроенная версия Facebook Messenger(отдельное полноценное приложение), работающие одновременно, делают сложность и объем кода настоящим вызовом, который могут принять очень немногие из разработчиков, особенно для старых версий платформы. (Наши самые старые приложения — ровесники Android 2.2, которому уже 3 года)
Один такой вызов относится к способу, которым виртуальная машина Dalvik, работает с Java-методами. В прошлом году мы совершили полную перестройку нашего Android-приложения, в течение которой мы перенесли огромное количество кода с JavaScript на Java, а также внесли множество абстракий, которые требуют огромное число небольших методов (что вообще-то является хорошой практикой программирования). К сожалению, это привело к невероятному увеличению количества методов в нашем приложении.