標籤:android 非同步 asynctask 執行個體 逾時
大家開發應用的時候往往會用到非同步處理,都是通過繼承AsyncTask實現,有時候也伴隨著逾時做處理,過一段時間不管非同步執行完沒有都要做下一步事情,
那麼我這裡有一個簡單的執行個體大家可以看下:
private static final int TIME_DELAY = 1500; private boolean mIsLoaded; private boolean mIsTimeOut; private Handler mHandler; class InitTask extends AsyncTask<String, Integer, String> { 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 非同步和逾時處理 例子