9

を使用していv4 support libますFragmentTabHost

要件は、タブを別のタブと別のタブに切り替えるときに、呼び出していることです

毎回onCreateView() & onActivityCreated() 。

それが私のコードのパフォーマンスが遅い理由です。

それで、他の解決策はありますか?フラグメントタブでパフォーマンスを向上させる方法は?

4

4 に答える 4

1

そのための解決策を見つけました。作成時にすべての Web サービスとデータベース トランザクション コードを挿入しました。oncreate は、ondestroy が呼び出されるまで毎回呼び出されないためです。&もう1つのソリューションも利用可能で、使用できます

fragment.show();

& fragment.hide(); 方法

于 2013-04-26T06:46:29.383 に答える
1

最初に気をつけなければならないことは、計算に注意することです。大量のデータ セットのロードは、メインの UI スレッドとは別のワーカー スレッドに配置する必要があります。(私の意見では)それを行うための最良のオプションは、を使用することAsyncTaskです。Fragment で次のようなものを使用できます。

private class LoadData extends AsyncTask<Void, Void, Void>{

      @Override
      protected void onPreExecute(){
          super.onPreExecute();
          // this is the place where you can show
          // progressbar for example to indicate the user
          // that there is something which is happening/loading in the background
      }

      @Override
      protected void doInBackground(Void... params){

          // that's the place where you should do 
          // 'the heavy' process which should run on background thread
      }

      @Override
      protected void onPostExecute(Void result){
          super.onPostExecute();
          // you should update your UI here.
          // For example set your listview's adapter
          // changes button states, set text to textview and etc.
      }
}

これは、タブの動作を高速化する方法です。これがお役に立てば幸いです! : )

于 2013-04-18T17:49:07.537 に答える