+1 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

برای ایجاد Service در برنامه های اندروید دو کلاس پدر برای این کار وجود دارد، Service و IntentService، این دو چه تفاوتی با هم دارند؟

2 پاسخ

+2 امتیاز
قبل توسط (8.6هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ
service ها در رشته ی اصلی برنامه اجرا میشوند بنابراین زمانیکه ما یک عملیت طولانی و زمانبر ( بیش از 5 ثانیه ) اجرا میکنیم برنامه در هم میشکند و پیغام anr ( application is NOT Responding)l میدهد برای جلوگیری از این اتفاق ما از intentservice استفاده میکنیم که به طور خودکار رشته ای تولید میکند و عامل مورد نظر را بدون بلاک کردن رشته اصلی آن اجرا میکند.
+2 امتیاز
قبل توسط (1.1هزار امتیاز)

در تکمیل جواب قبلی این سوال باید بگم که یک Service در درون همان thread برنامه در حال اجرا اجرا می شود ولی IntentService در یک thread جدید اجرا می شود ولی در نظر داشته باشید که برای هر IntentService فقط یک thread ایجاد می شود (worker thread) که وظیفه پاسخ گویی به تمام درخواست های آن IntentService را بر عهده دارد بنابراین IntentService برای مواردی که یک سرویس می خواهد به چندین درخواست همزمان رسیدگی کند مناسب نیست.

قبل توسط (8.6هزار امتیاز)
بسیارعالی (+1)

سوالات مشابه

0 امتیاز
2 پاسخ 489 بازدید
+1 امتیاز
4 پاسخ 1.3هزار بازدید
0 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
1 پاسخ 793 بازدید
...