を使用していv4 support lib
ますFragmentTabHost
要件は、タブを別のタブと別のタブに切り替えるときに、呼び出していることです
毎回onCreateView() & onActivityCreated() 。
それが私のコードのパフォーマンスが遅い理由です。
それで、他の解決策はありますか?フラグメントタブでパフォーマンスを向上させる方法は?
を使用していv4 support lib
ますFragmentTabHost
要件は、タブを別のタブと別のタブに切り替えるときに、呼び出していることです
毎回onCreateView() & onActivityCreated() 。
それが私のコードのパフォーマンスが遅い理由です。
それで、他の解決策はありますか?フラグメントタブでパフォーマンスを向上させる方法は?
そのための解決策を見つけました。作成時にすべての Web サービスとデータベース トランザクション コードを挿入しました。oncreate は、ondestroy が呼び出されるまで毎回呼び出されないためです。&もう1つのソリューションも利用可能で、使用できます
fragment.show();
& fragment.hide(); 方法
最初に気をつけなければならないことは、計算に注意することです。大量のデータ セットのロードは、メインの 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.
}
}
これは、タブの動作を高速化する方法です。これがお役に立てば幸いです! : )