Android(安卓)异步和超时处理 例子
16lz
2021-01-26
大家开发应用的时候往往会用到异步处理,都是通过继承AsyncTask实现,有时候也伴随着超时做处理,过一段时间不管异步执行完没有都要做下一步事情,
那么我这里有一个简单的实例大家可以看下:
private static final int TIME_DELAY = 1500; private boolean mIsLoaded; private boolean mIsTimeOut; private Handler mHandler; class InitTask extends AsyncTask { public InitTask() { } @Override protected String doInBackground(String... params) { xxx();//异步处理的事情 return null; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); mIsLoaded = true; if (mIsTimeOut) { xxx();//异步执行完后的事情 } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_start); } @Override public void onBackPressed() { } @Override protected void onResume() { super.onResume(); mIsLoaded = false; mIsTimeOut = false; InitTask mInitTast = new InitTask(); mInitTast.execute(); mHandler = new Handler(); mHandler.postDelayed(new Runnable() { @Override public void run() { mIsTimeOut = true; if (mIsLoaded) { xxx();//超时处理的事情 } } }, TIME_DELAY); }
更多相关文章
- android Fragments详解四:管理fragment
- 动起来!动起来!- Android(安卓)Transitions 转场动画
- Android(安卓)本地代码中的LIKELY和UNLIKELY宏
- 你需要了解下Android(安卓)View的更新requestLayout与重绘invali
- Android(安卓)AsyncTask 浅析(源代码取自 API level 23)
- Android(安卓)异步加载图片-AsyncTask
- android ANR相关问题
- Android(安卓)RxJava创建操作符Timer的方法
- 在Android(安卓)5.0中使用JobScheduler