Swift Managing Memory
سلام
من یک اپلیکیشن ساختم که وقتی توی صفحاتش میگردی و لیست ها و عکس ها رو نگاه میکنی (بصورت آنلاین) بعد از گذشت چند دقیقه حافظه پر میشه و اپلیکیشن کند میشه یعنی حتی روی یک دکمه کلیک میکنی که بری توی یک صفحه دیگه با تاخیر انجام میده و در نهایت بعد چند دقیقه از برنامه خارج میشه و کرش میکنه.
عکس های نشان داده شده توی برنامه بصورت دانلود شدس طبق آموزش های آقای کاشیزاده.
حالا سوال من اینجاست برای اینکه این مشکل بزرگ رو حل کنم باید حافظه کش شده رو پاک کنم یا کار دیگه ایی انجام بدم؟
میزان حافظه ای که هر برنامه در اختیار دارد محدود است و زمانی که اطلاعات با حجم زیاد را در List لود کنید مطمئنا مشکل کندی پیش می آید .
خاصیت Table View آن است که به اندازه صفحه نمایش شما اجازه تولید آیتم را میدهد. چنانچه حجم عکس های لود شده در همین تعداد محدود زیاد باشد کندی را بهمراه دارد و یا اینکه Table View شما به تعداد آیتم های شما افزوده و از آیتم های قبلی استفاده نکند .
به طور کل نمایش عکس با حجم زیاد در لیست ها کار فنی نیست . بهترین روش برای نمایش لیستی از آیتم های همراه با عکس استفاده از Thumbnail است.
همینطور بهتر است این Thumbnail ها در سمت سرور با اندازه مناسب با صفحه نمایش کاربر مثلا 96 * 96 پیکسل و یا بیشتر تولید شود و پردازش تغییر اندازه در سمت کلاینت انجام نشود .
یا اگر قصد انجام تغییر بر روی تصویر دانلود شده را دارید بهتر است غیر از نسخه اصلی نسخه دیگری با عنوان کش تولید کنید تا در زمان بارگذاری مجدد آن این پردازش مجددا انجام نشود .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .