我是android app开发的初学者。
我必须在我的应用程序中使用ping测试来检查可用的互联网连接,因为我发现这个方法非常有用,但我在许多地方读过我应该使用AsyncTask()方法或Handler()方法作为UI上的ping测试线程可能会冻结我的应用程序。
但我并没有区分这两者来决定我应该使用哪一个。我发现在AsyncTask中,我有像doInBackground()和onPostExecute这样的方法,它有助于与UI线程的交互和在另一个线程中运行的进程。
但是我没有在Handler()方法中获得这样的方法。
Handler handler = new Handler();
Runnable runnable =new Runnable() {
@Override
public void run() {
handler.postDelayed(this,1000);
}
};
handler.post(runnable);
答案 0 :(得分:1)
它们之间的简单和主要区别是
AsyncTask用于执行一些后台任务,并将结果发布到具有/不具有进度更新的UI线程。
如果您不关心UI,那么处理程序/线程更合适。