Компиляция Record для Android
Средний
10 мин

В Android Developers Blog выходила статья Records in Android Studio Flamingo о том как компиляторы R8/D8 преобразуют классы java.lang.Record. В ней рассказывается как добиться минификации компонентов toString() у Kotlin data-классов. Меня заинтересовала эта тема и я решил чуть более подробно в нее углубиться.
В своём посте я подсвечу некоторые моменты, оставшиеся «между строк» в оригинальной статье. Благодаря чему R8 может переписать метод toString() у Record. В чем разница между Record в Java и Kotlin. Можно ли добиться от Record в Android такой же динамики как в «настольной» JVM. Стоит ли для описания моделей использовать Record'ы вместо data‑классов.