وقتی Compose یک فریم را به روز می کند، از سه مرحله عبور می کند:
- Composition: Compose تعیین می کند که چه چیزی نشان داده شود. توابع قابل ترکیب را اجرا می کند و درخت رابط کاربری را می سازد.
- Layout: Compose اندازه و محل هر عنصر را در درخت UI تعیین می کند.
- Drawing: Compose در واقع عناصر UI فردی را رندر می کند .
در صورت عدم نیاز، Compose میتواند بهطور هوشمندانه از هر یک از آن مراحل بگذرد. به عنوان مثال، فرض کنید یک عنصر گرافیکی واحد بین دو نماد با اندازه یکسان جابجا شود. از آنجایی که اندازه این عنصر تغییر نمیکند و هیچ عنصری از درخت رابط کاربری اضافه یا حذف نمیشود، Compose میتواند از مراحل ترکیببندی و طرحبندی رد شود و این یک عنصر را دوباره ترسیم کند.
با این حال، اشتباهات کدنویسی میتواند تشخیص فازهایی را که میتواند با خیال راحت از آن عبور کند برای Compose دشوار میکند، در این صورت Compose هر سه فاز را اجرا میکند که میتواند رابط کاربری شما را کند کند. بنابراین، بسیاری از بهترین عملکردها برای کمک به Compose برای رد شدن از مراحلی است که نیازی به انجام آن ندارد.
برای اطلاعات بیشتر، به راهنمای Jetpack Compose Phases مراجعه کنید.
اصول کلی
چند اصل کلی وجود دارد که باید از آنها پیروی کرد که می تواند عملکرد را به طور کلی بهبود بخشد:
- در صورت امکان، محاسبات را از توابع قابل ترکیب خارج کنید. هر زمان که رابط کاربری تغییر می کند، ممکن است لازم باشد توابع قابل ترکیب مجدد اجرا شوند. هر کدی که در فایل کامپوزیشن قرار دهید، به طور بالقوه برای هر فریم از یک انیمیشن، دوباره اجرا می شود. کدهای composable را فقط به آنچه برای ساخت رابط کاربری نیاز دارد محدود کنید.
- خواندن حالت را تا زمانی که ممکن است به تعویق بیندازید. با انتقال حالت خواندن به یک مرحله کامپوزیشن کودک یا مرحله بعدی، می توانید ترکیب مجدد را به حداقل برسانید یا از مرحله ترکیب به طور کامل رد شوید. شما می توانید این کار را با ارسال توابع لامبدا به جای مقدار حالت برای حالت های مکرر تغییر دهید و با ترجیح دادن اصلاح کننده های مبتنی بر لامبدا در حالت تغییر مکرر تغییر دهید. میتوانید نمونهای از این تکنیک را در بخش «به تعویق انداختن خواندن تا حد امکان» دنبال کردن بهترین شیوهها مشاهده کنید.
منابع اضافی
- راهنمای عملکرد برنامه : بهترین شیوهها، کتابخانهها و ابزارها را برای بهبود عملکرد در Android کشف کنید.
- بررسی عملکرد : عملکرد برنامه را بررسی کنید.
- محک زدن : عملکرد برنامه را محک بزنید.
- راه اندازی برنامه : راه اندازی برنامه را بهینه کنید.
- پروفایل های پایه : پروفایل های پایه را درک کنید.
وقتی Compose یک فریم را به روز می کند، از سه مرحله عبور می کند:
- Composition: Compose تعیین می کند که چه چیزی نشان داده شود. توابع قابل ترکیب را اجرا می کند و درخت رابط کاربری را می سازد.
- Layout: Compose اندازه و محل هر عنصر را در درخت UI تعیین می کند.
- Drawing: Compose در واقع عناصر UI فردی را رندر می کند .
در صورت عدم نیاز، Compose میتواند بهطور هوشمندانه از هر یک از آن مراحل بگذرد. به عنوان مثال، فرض کنید یک عنصر گرافیکی واحد بین دو نماد با اندازه یکسان جابجا شود. از آنجایی که اندازه این عنصر تغییر نمیکند و هیچ عنصری از درخت رابط کاربری اضافه یا حذف نمیشود، Compose میتواند از مراحل ترکیببندی و طرحبندی رد شود و این یک عنصر را دوباره ترسیم کند.
با این حال، اشتباهات کدنویسی میتواند تشخیص فازهایی را که میتواند با خیال راحت از آن عبور کند برای Compose دشوار میکند، در این صورت Compose هر سه فاز را اجرا میکند که میتواند رابط کاربری شما را کند کند. بنابراین، بسیاری از بهترین عملکردها برای کمک به Compose برای رد شدن از مراحلی است که نیازی به انجام آن ندارد.
برای اطلاعات بیشتر، به راهنمای Jetpack Compose Phases مراجعه کنید.
اصول کلی
چند اصل کلی وجود دارد که باید از آنها پیروی کرد که می تواند عملکرد را به طور کلی بهبود بخشد:
- در صورت امکان، محاسبات را از توابع قابل ترکیب خارج کنید. هر زمان که رابط کاربری تغییر می کند، ممکن است لازم باشد توابع قابل ترکیب مجدد اجرا شوند. هر کدی که در فایل کامپوزیشن قرار دهید، به طور بالقوه برای هر فریم از یک انیمیشن، دوباره اجرا می شود. کدهای composable را فقط به آنچه برای ساخت رابط کاربری نیاز دارد محدود کنید.
- خواندن حالت را تا زمانی که ممکن است به تعویق بیندازید. با انتقال حالت خواندن به یک مرحله کامپوزیشن کودک یا مرحله بعدی، می توانید ترکیب مجدد را به حداقل برسانید یا از مرحله ترکیب به طور کامل رد شوید. شما می توانید این کار را با ارسال توابع لامبدا به جای مقدار حالت برای حالت های مکرر تغییر دهید و با ترجیح دادن اصلاح کننده های مبتنی بر لامبدا در حالت تغییر مکرر تغییر دهید. میتوانید نمونهای از این تکنیک را در بخش «به تعویق انداختن خواندن تا حد امکان» دنبال کردن بهترین شیوهها مشاهده کنید.
منابع اضافی
- راهنمای عملکرد برنامه : بهترین شیوهها، کتابخانهها و ابزارها را برای بهبود عملکرد در Android کشف کنید.
- بررسی عملکرد : عملکرد برنامه را بررسی کنید.
- محک زدن : عملکرد برنامه را محک بزنید.
- راه اندازی برنامه : راه اندازی برنامه را بهینه کنید.
- پروفایل های پایه : پروفایل های پایه را درک کنید.
وقتی Compose یک فریم را به روز می کند، از سه مرحله عبور می کند:
- Composition: Compose تعیین می کند که چه چیزی نشان داده شود. توابع قابل ترکیب را اجرا می کند و درخت رابط کاربری را می سازد.
- Layout: Compose اندازه و محل هر عنصر را در درخت UI تعیین می کند.
- Drawing: Compose در واقع عناصر UI فردی را رندر می کند .
در صورت عدم نیاز، Compose میتواند بهطور هوشمندانه از هر یک از آن مراحل بگذرد. به عنوان مثال، فرض کنید یک عنصر گرافیکی واحد بین دو نماد با اندازه یکسان جابجا شود. از آنجایی که اندازه این عنصر تغییر نمیکند و هیچ عنصری از درخت رابط کاربری اضافه یا حذف نمیشود، Compose میتواند از مراحل ترکیببندی و طرحبندی رد شود و این یک عنصر را دوباره ترسیم کند.
با این حال، اشتباهات کدنویسی میتواند تشخیص فازهایی را که میتواند با خیال راحت از آن عبور کند برای Compose دشوار میکند، در این صورت Compose هر سه فاز را اجرا میکند که میتواند رابط کاربری شما را کند کند. بنابراین، بسیاری از بهترین عملکردها برای کمک به Compose برای رد شدن از مراحلی است که نیازی به انجام آن ندارد.
برای اطلاعات بیشتر، به راهنمای Jetpack Compose Phases مراجعه کنید.
اصول کلی
چند اصل کلی وجود دارد که باید از آنها پیروی کرد که می تواند عملکرد را به طور کلی بهبود بخشد:
- در صورت امکان، محاسبات را از توابع قابل ترکیب خارج کنید. هر زمان که رابط کاربری تغییر می کند، ممکن است لازم باشد توابع قابل ترکیب مجدد اجرا شوند. هر کدی که در فایل کامپوزیشن قرار دهید، به طور بالقوه برای هر فریم از یک انیمیشن، دوباره اجرا می شود. کدهای composable را فقط به آنچه برای ساخت رابط کاربری نیاز دارد محدود کنید.
- خواندن حالت را تا زمانی که ممکن است به تعویق بیندازید. با انتقال حالت خواندن به یک مرحله کامپوزیشن کودک یا مرحله بعدی، می توانید ترکیب مجدد را به حداقل برسانید یا از مرحله ترکیب به طور کامل رد شوید. شما می توانید این کار را با ارسال توابع لامبدا به جای مقدار حالت برای حالت های مکرر تغییر دهید و با ترجیح دادن اصلاح کننده های مبتنی بر لامبدا در حالت تغییر مکرر تغییر دهید. میتوانید نمونهای از این تکنیک را در بخش «به تعویق انداختن خواندن تا حد امکان» دنبال کردن بهترین شیوهها مشاهده کنید.
منابع اضافی
- راهنمای عملکرد برنامه : بهترین شیوهها، کتابخانهها و ابزارها را برای بهبود عملکرد در Android کشف کنید.
- بررسی عملکرد : عملکرد برنامه را بررسی کنید.
- محک زدن : عملکرد برنامه را محک بزنید.
- راه اندازی برنامه : راه اندازی برنامه را بهینه کنید.
- پروفایل های پایه : پروفایل های پایه را درک کنید.
وقتی Compose یک فریم را به روز می کند، از سه مرحله عبور می کند:
- Composition: Compose تعیین می کند که چه چیزی نشان داده شود. توابع قابل ترکیب را اجرا می کند و درخت رابط کاربری را می سازد.
- Layout: Compose اندازه و محل هر عنصر را در درخت UI تعیین می کند.
- Drawing: Compose در واقع عناصر UI فردی را رندر می کند .
در صورت عدم نیاز، Compose میتواند بهطور هوشمندانه از هر یک از آن مراحل بگذرد. به عنوان مثال، فرض کنید یک عنصر گرافیکی واحد بین دو نماد با اندازه یکسان جابجا شود. از آنجایی که اندازه این عنصر تغییر نمیکند و هیچ عنصری از درخت رابط کاربری اضافه یا حذف نمیشود، Compose میتواند از مراحل ترکیببندی و طرحبندی رد شود و این یک عنصر را دوباره ترسیم کند.
با این حال، اشتباهات کدنویسی میتواند تشخیص فازهایی را که میتواند با خیال راحت از آن عبور کند برای Compose دشوار میکند، در این صورت Compose هر سه فاز را اجرا میکند که میتواند رابط کاربری شما را کند کند. بنابراین، بسیاری از بهترین عملکردها برای کمک به Compose برای رد شدن از مراحلی است که نیازی به انجام آن ندارد.
برای اطلاعات بیشتر، به راهنمای Jetpack Compose Phases مراجعه کنید.
اصول کلی
چند اصل کلی وجود دارد که باید از آنها پیروی کرد که می تواند عملکرد را به طور کلی بهبود بخشد:
- در صورت امکان، محاسبات را از توابع قابل ترکیب خارج کنید. هر زمان که رابط کاربری تغییر می کند، ممکن است لازم باشد توابع قابل ترکیب مجدد اجرا شوند. هر کدی که در فایل کامپوزیشن قرار دهید، به طور بالقوه برای هر فریم از یک انیمیشن، دوباره اجرا می شود. کدهای composable را فقط به آنچه برای ساخت رابط کاربری نیاز دارد محدود کنید.
- خواندن حالت را تا زمانی که ممکن است به تعویق بیندازید. با انتقال حالت خواندن به یک مرحله کامپوزیشن کودک یا مرحله بعدی، می توانید ترکیب مجدد را به حداقل برسانید یا از مرحله ترکیب به طور کامل رد شوید. شما می توانید این کار را با ارسال توابع لامبدا به جای مقدار حالت برای حالت های مکرر تغییر دهید و با ترجیح دادن اصلاح کننده های مبتنی بر لامبدا در حالت تغییر مکرر تغییر دهید. میتوانید نمونهای از این تکنیک را در بخش «به تعویق انداختن خواندن تا حد امکان» دنبال کردن بهترین شیوهها مشاهده کنید.
منابع اضافی
- راهنمای عملکرد برنامه : بهترین شیوهها، کتابخانهها و ابزارها را برای بهبود عملکرد در Android کشف کنید.
- بررسی عملکرد : عملکرد برنامه را بررسی کنید.
- محک زدن : عملکرد برنامه را محک بزنید.
- راه اندازی برنامه : راه اندازی برنامه را بهینه کنید.
- پروفایل های پایه : پروفایل های پایه را درک کنید.