آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

برنامه ریزی خودکار برای دریافت اطلاعات از سرور

شهریار توکلی  9 سال پیش  9 سال پیش
0 0

درود خدمت شما . 

من برای دکمه های پایین اپلیکیشنم نیاز به این دارم هر چند ثانیه ( مثلا ۱۰ ) یک بار سرور چک بشود که آیا مطلب جدیدی وجود دارد اگر دارد تعداد آن را نمایش دهد و اگر ندارد که هیچی برای این کار از کد زیر استفاده کردم

 Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(createEnemy), userInfo: nil, repeats: true)

createEnemy همان فانکشنی هست که می رود از سرور یک چیزی می خواند . خوب تا اینجا مشکلی نبود چون هیچ وقت به رم دقت نمی کردم ولی الان متوجه شدم بعد از فعال کردن این کد در viewDidLoad ویوی اصلیم ( اولم )

۱. در تمام view های دیگر این کد کار می کند بدون اینکه من ازش خواسته باشم

۲. رم رو به مرور زمان زیباد می کند ( این مورد خیلی ضروری هست )

آیا شما برای حل مشکل دوم راه حل دیگری در نظر دارید ؟ فکر کنید اپلیکیشن گوگل برای فراخوانی ایمیل جدید دارید و می خواهد چک کند ببنید آیا ایمیل جدید آماده یا خیر و این فراخوانی فقط به وسیله خود اپ انجام بگیرد نه کاربر هر لحظه روی آن کلیک کند

با تشکر

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
QUQU  9 سال پیش
+1 0

این که مصرف رم مرتب داره میره بالا به نظرم میتونه مستفیم ربطی به این قضیه نداشته باشه. مصرف رم وقتی بیهوده میره بالا که شما Memory Leak داشته باشی. من اپلیکیشن گوگل رو استفاده نکردم ولی به طور کلی اپ های اینجوری یا هر چند ثانیه/دقیقه خاصی مثل شما چک میکنن یا این که Socket Based هستن و اطلاعات جدید براشون ارسال میشه.

0 0
درود خدمت شما . تشکر از پاسختون . ببنید من یک پروژه جدید ساختم و کلا کد بالا رو قرار دادم و گفت هر ۱۰ ثانیه مثلا aaa پرینت بزنه یباش یباش از ۳۰ مگ رفت تا ۵۰ مگ و همینجوری روند بالا رفتن رم ادامه داشت ولی آهسته تر شد (9 سال پیش)
0 0
آخه من خودم استفاده کردم قبلا و همچین مشکلی نداشتم. این پروژه جدیدتون رو کد هاش رو بزارین. (9 سال پیش)
0 0
یک پروژه سینگل ویو new بزنید بعد دقیقا کد بالا بزارید Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(createEnemy), userInfo: nil, repeats: true) بعد اون createEnemy یک فانکشن که داخلش print("AAA") همین کل پروژه همینه . کمی صبر کنید مصرف رم ببنید لطفا . یباش یباش می ره بالا (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .