جدیدترین‌ها

Arc چیست؟

اطلاعات موضوع

درباره موضوع در تاریخ, در دسته زبانهای برنامه نویسی ایجاد شده و آغاز کننده آن Mahoorمی باشد و موضوع آن: Arc چیست؟ است. این موضوع تا کنون 44 بازدید کننده و, 0 پاسخ داشته و 1 بار پسندیده شده...
نام دسته زبانهای برنامه نویسی
نام موضوع Arc چیست؟
آغاز کننده موضوع Mahoor
تاریخ شروع
پاسخ‌ها
بازدیدها
پسندها
آخرین ارسال توسط Mahoor

Mahoor

مدیر تالار مدرسه
پرسنل مدیریت
مدیر سایت
2020/06/10
82
40
18
💻شمارش خودکار ارجاع یا ARC روشی است که در زبانهایی مانند Objective-C و Swift برای مدیریت حافظه استفاده میشود.

در این روش پاکسازی حافظه یک شی زمانی انجام میشود که دیگر هیچ رفرنسی به آن داده نشده باشد.

در GC که #C و Java از آن استفاده میکنند پاکسازی حافظه در بازه های زمانی اتفاق می افتد و باعث مکث در برنامه میشود. همچنین هنگامی که حافظه سیستم پر میشود باید GC در بازه های زمانی کوتاهتر اجرا شود.

در ARC رفرنس های داده شده به شی یا گرفته شده از آن شمارش میشود و زمانی که تعداد آنها به صفر میرسد حافظه شی تخلیه میشود. این روش نیاز به الگوریتم ساده تری دارد و جایی که منابع حافظه محدود است (موبایل) کارایی بیشتری دارد.

اما ARC قادر به مدیریت Reference Cycle نیست یعنی زمانی که شی A فقط به شی B وابسته باشد و برعکس تعداد رفرنس ها هیچوقت صفر نمیشود و نیاز به مکانیزم بیرونی برای تشخیص و پاکسازی بوجود می آید در غیر این صورت Memory Leak پیش می آید.

همچنین دفعات زیاد رفرنس دهی یا حذف رفرنس از شی در ARC غیر بهینه عمل میکند. در حالی که در GC تاثیر نمیگذارد.

در iOS از نسخه 5 به بعد از ARC استفاده میشود.
 
  • Like
واکنش‌ها[ی پسندها]: Aseman
بالا پایین