چرا GC زیاد کال میشه؟
عمدتاً به دلیل allocation و آزادسازی سریع و مکرر تعداد زیادی از object هایی با عمر کوتاه توی حافظه اتفاق میوفته، فکر کنید مکرر یه چیزی رو خرید میکنید و یک ثانیه استفاده میکنید و میندازین اشغال.
allocation های کوچک و مکرر: کدتون به طور مداوم و تو حلقهها یا متدهای پرکاربرد(مثل مسیر استریم، یا شبکه و هرجایی که زیاد کال بشه) ابجکت های جدیدی مثل String، آرایه یا دیتاکلاس(برای ui state) را ایجاد میکنه و از ابجکت هایی که قبلا ساخته استفاده نمیکنه.
تصاویر و Bitmap های بزرگ: لود یا پردازش تصاویری با رزولوشن و سایز بالا و بدون بهینه سازی مناسب یا فرمت مناسب میتونه بخش بزرگی از حافظه رو به سرعت allocate و deallocate کنه. باید حواستون باشه که Bitmap ها به شدت حافظه مصرف میکنن و ساختن و خذف اونا میتونن GC رو تحریک کنن.
#Android
@knowpow

10July 18, 2025 1.6K 9