برای این کار باید از TimerTask یا Handler استفاده کنید. استفاده از هر کدام بسیار یاده میباشد .
final Handler updateHandler = new Handler();
Runnable runnable = new Runnable() {
public void run() {
mTextMessage.setText(R.string.title_android);
updateHandler.postDelayed(this, 1); // determines the execution interval
}
};
updateHandler.post(runnable);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
mTextMessage.setText(R.string.title_android);
}
});
}
}, 0, 1);
اما مسئله اصلی این مطلب این است که کدام بهتر و بهینه تر میباشد.
Handler
Timer
چیزی ک در تصویر میبینید مصرف زیاد CPU در Timer میباشد که خود دلیل خوبیست که از این متد برای مصراف طولانی مدت استفاده نکنید.
Timer کلاس انتخابی خوبی برای اندروید نیست و بهتر است برای حلفه های طولانی از handler استفاده کنید.
عیب های Timer :
UI را نمیتواند بروز کند
حافظه را اشغال میکند و onLowMemory فراخوانی میشود
غیرقابل اعتماد است و همیشه کار نمیکند ، بعنوان مثال وقتی ساعت گوشی کاربر تغییر کند ، Timer شما از کار می افتد
در سرویس هار طولانی مدت دخالت میکند و باعث از کار افتادن میشود.
نظرات (۳)
نسترن یکتا
شنبه ۱۰ شهریور ۹۷ , ۱۶:۱۵مسلم خان بیکی
۲۲ شهریور ۹۷، ۱۷:۲۶s.khanbeiki@gmail.com
09119009338
رضا
سه شنبه ۸ آبان ۹۷ , ۱۶:۴۷مسلم خان بیکی
۲۲ آبان ۹۷، ۱۵:۱۶علیرضا مقدم
دوشنبه ۶ ارديبهشت ۰۰ , ۱۶:۲۵درود
بسیار خوب است. آزمایش کردم.
سپاس