上一篇Android开发 面试题2021年干货汇总解答(一)
1.AsyncTask异步加载
上一期讲了可以用Handler消息机制实现子线程刷新UI,当然处理这一复杂场景Google为我们提供了更好的解决方案就是扩展 AsyncTask类,此类可简化与界面进行交互所需执行的工作线程任务。
private class MyAsyncTask extends AsyncTask<Params, Progress, Result> {
@Override
protected Result doInBackground(Params... params) {
return null;
}
@Override
protected void onProgressUpdate(Progress... values) {
}
@Override
protected void onPostExecute(Result result) {
}
}
创建异步AsyncTask对象:
new MyAsyncTask().execute(Param1, Param2, Param3);
使用该类,您必须创建 AsyncTask 的子类并实现 doInBackground() 回调方法,该方法会在后台线程池中运行。如要更新界面,您应实现 onPostExecute()(该方法会传递 doInBackground() 返回的结果并在界面线程中运行),以便安全更新界面。然后,您可以通过从UI线程调用 execute() 来运行任务。
别错过哦后面还有更精彩 Android开发 面试题2021年干货汇总解答(二)
欢迎关注微信公众号!你的每个赞和在看,都是对我的支持!👍