2012-03-02 60 views
0

在我的android應用程序中,有一個活動可以將搜索關鍵字添加到列表中。添加關鍵字後,用戶必須按後退按鈕才能轉到上一個活動。在之前的活動中,我根據我添加的關鍵字從互聯網獲取數據。我的問題是,當我按下後退按鈕時,將需要相同的時間才能進入前一個活動。我怎樣才能加快這個過程?我的代碼:在android中快速返回上一個活動?

goBack = (ImageView) findViewById(R.id.backbutton); 
goBack.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       onBackPressed(); 
      } 
     }); 

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    isBackPressed=true; 
    finish(); 
} 
+9

如果您調用super.onBackPressed(),則不需要調用finish。 – njzk2 2012-03-02 11:34:37

回答

0

,可以儲存你從互聯網上獲得永久的東西,所以你沒有得到你每次展示活動一次,這樣會更快的加載。

0

您之前的活動是否在主線程中從互聯網上下載數據?如果是這樣,那是你的問題。您所展示的活動速度很快,但之前的活動需要一段時間才能恢復(因爲網絡下載)。這是不好的,原因有兩個:

  1. 響應性變差。如果用戶連接不好,一切都會凍結!
  2. 如果用戶使用蜂窩設備(也可能是ICS,我還沒有嘗試過),它會拋出一個異常,並且崩潰或(如果你捕獲它)就無法正常工作。

您的解決方案是在後臺線程中進行下載,可能會出現一個對話框,告訴用戶請等待,顯示下載進度(如果可用)。