2012-03-02 11 views
0

私の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

答えて

0

あなたはそれあなたが活性を示すたびに得ることはありませんので、あなたは永久にインターネットから得るものを保存する必要があり、それははるかに高速にロードされますそのように。

0

以前のアクティビティは、メインスレッドのインターネットからデータをダウンロードしていますか?もしそうなら、それはあなたの問題です。表示されているアクティビティは十分に速いですが、以前のアクティビティでは(インターネットのダウンロードのため)再開に時間がかかります。これは2つの理由で悪いです:

  1. 応答が悪くなります。ユーザーが接続不良の場合、すべてがフリーズします!
  2. ユーザーがHoneycombデバイス(多分ICSでも試していない)を使用している場合、例外がスローされ、クラッシュするか、(キャッチすると)機能しなくなります。

あなたの解決策は、バックグラウンドスレッドでダウンロードを行うことです。利用可能であれば、ダウンロードの進行状況を示すダイアログをユーザに表示してください。

関連する問題