View Full Version : تفاوت AsyncTasks با Handler چیه؟
farhadfery
یک شنبه 14 مهر 1392, 12:42 عصر
سلام/
تفاوت AsyncTasks با Handler چیه؟
ghader62
دوشنبه 15 مهر 1392, 07:45 صبح
سلام دوست عزیز
اول روی همزمانی بحث میشه که معمولا توی اندروید از دو تا استفاده میشود thread , asyncTask
thread:
Thread یک قطعه کوچک اجرایی است که توسط سیستم عامل در زمان مناسب اجرا می گردد. هر Process شامل یک یا بیشتر Thread خواهد بود. به نرم افزارها ( Process ) هایی که دارای بیش از یک Thread هستند، MultiThread * می گویند و می گوییم. اجرای برنامه در حالت اصلی روی mainthread انجام میشه ولی اگه این پروسس بیشتر از چند ثانیه طول بکشه اندروید بصورت خودکار اجرای برنامه رو متوقف میکنه .برای اینکه این اتفاق نیافته ما میایم پردازشهایی که پروسس طولانی نیاز دارند را در داخل thread دیگری غیر از mainthread پردازش میکنیم در این حالت بعضی وقتها نیاز میشود که کارهایی را در طول پردازش، روی ترد اصلی انجام دهیم که در این حالت با استفاده از HAndler این کار را انجام میدهیم
asyncTask :
این همزمانی هم مانند ترد عمل میکند البته با تفاوتهای جزیی از جمله اینکه در این بجای استفاده از Handler از متد onProgressUpdate() استفاده میکنیم
farhadfery
دوشنبه 15 مهر 1392, 10:09 صبح
از توضیحاتی که دادید ممنون. اینها را می دونستم. منظورم اینکه چطور باید تشخیص بدیم کجا از کدام یکی استفاده کنیم؟ لطف می کنید یه مقایسه ارائه بدید.
ghader62
دوشنبه 15 مهر 1392, 10:54 صبح
دوست عزیز تا اونجاییکه میدونم کار thread و asynctask یکیه (البته صددرصد تفاوتهایی هم دارند)
انجام هر کاری ، معمولا با یکی از این دو روش ساده تره(کد نویسیش)
مثلا خیلی جاها دیدم که ارتباط با اینترنت و سند و رسیو دیتا رو با asynctask انجام میدن
ولی برا پردازش از تردها استفاده میکنن .
هر چند این نظر ممکنه مشکل داشته باشه ولی کدهایی که من دیدم معمولا روشی که گفتم رو پیاده کردن
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.