طبق طراحی، Styleها در مرحله طرحبندی و ترسیم Compose عمل میکنند. این امر از نیاز به ایجاد اصلاحکنندههای مبتنی بر لامبدا جلوگیری میکند، زیرا Styleها همیشه از مرحله ترکیب صرفنظر میکنند.

بهبود عملکرد نسبت به اصلاحکنندهها از سه بهینهسازی اصلی ناشی میشود:
- تغییر فاز : سبکها اغلب فاز Draw را هدف قرار میدهند. وقتی مقداری تغییر میکند، Compose به جای اینکه یک Recomposition یا Relayout کامل را فعال کند، فقط فاز آسیبدیده (مثلاً Redraw) را نامعتبر میکند.
- تخصیص تنبل : سبکها تخصیص منابع انیمیشن را تا زمان شروع واقعی انیمیشن به تعویق میاندازند. این کار باعث کاهش کار مورد نیاز در طول ترکیب اولیه میشود.
- کاهش سربار شیء : اصلاحکنندههای زنجیرهای برای هر ویژگی (مثلاً padding، border) یک شیء اختصاص میدهند. استایلها از یک لامبدا برای اعمال چندین ویژگی استفاده میکنند و تخصیص حافظه را به میزان قابل توجهی کاهش میدهند. اگر یک استایل در یک تم تعریف شود، آن لامبدا در تمام کامپوننتهایی که از آن تم استفاده میکنند، به اشتراک گذاشته میشود.
جدول زیر نتایج گویای یک معیار عملکرد داخلی برای Compose 1.11.0-alpha06 از Styles را در مقایسه با پیادهسازی آن در Compose بدون Styles نشان میدهد.
تست basic_box_border_change قدرت سیستم استایل را در جلوگیری از تخصیص چندین شیء اصلاحکننده در حین بهروزرسانی ویژگیها برجسته میکند، که منجر به کاهش چشمگیر حدود ۷۷٪ در تخصیصها و حدود ۵۹٪ در زمان میشود.
روش آزمون | توضیحات | تغییر زمان | تغییر تخصیص |
رنگ حاشیه یک | -۵۹.۹۱٪ | -۷۷.۲۲٪ | |
حالتهای شناور/فوکوس/فشار دادن مبتنی بر سبک را با حالتهای تعامل دستی مقایسه میکند. | -۵.۲۴٪ | -۱۴.۷۲٪ | |
ترکیب و طرح اولیه یک | -۴.۷۸٪ | -۶.۶۰٪ | |
پنج کامپوننت | +۰.۶۲٪ | +۲.۴۱٪ | |
تنظیم رنگ متن از طریق یک استایل را با استفاده از | +۵.۸۶٪ | +۹.۸۲٪ |