これはパフォーマンスについての質問です。まず最初は私の英語は残念ですが、行こう、私はレストランのメニューであるアプリケーションを持っています。データベース上のパフォーマンスandroid multiple connection
これはうまくいっていますが、私は改善したい、遅くならないほど速くしたいです。例えば
:最初に
i「はスキップXXフレームをアプリケーションがそのメインスレッド上であまりにも多くの仕事をしていることがあります!。」を得るので、私は最善の解決策は、非常に多くの拡大イメージを入れないことです読み。そしてスレッドまたは実行中のデータベースへのすべての接続を行う
ここでは、フラグメントの私のコードです:
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
controller = new MDAlacarte(getActivity());
int idCategoria = Integer.parseInt(getArguments().getString("idCategoria"));
int idSubcategoria = Integer.parseInt(getArguments().getString("idSubcategorias"));
buscarPratos(idCategoria,idSubcategoria);
}
private void buscarPratos(final int idCategoria, final int idSubcategoria) {
getActivity().runOnUiThread(new Runnable(){
public void run() {
//If there are stories, add them to the table
pratosLista = controller.getPratosPorCategoriaAlacarte(idCategoria,idSubcategoria);
int tamanho = pratosLista.size();
for (int i = 0; i < tamanho ; i++) {
pratoObj = new Prato(pratosLista.get(i).get("nome"),
pratosLista.get(i).get("descricao"),
pratosLista.get(i).get("codigo"),
pratosLista.get(i).get("categoria"),
pratosLista.get(i).get("preco"),
pratosLista.get(i).get("tipo"),
pratosLista.get(i).get("subcategoria"));
pratos.add(pratoObj);
nomePratos.add(pratosLista.get(i).get("nome"));
}
}
});
}
が、問題は、私はcategoriaにおけるようなので、多くのタブを追加するときには、「時々遅いですブラジルの "Bebidas"で、とてもゆっくりとしている "ドリンク"これを実行するには、8個のタブのようになります。例えば、各フラグメントは、それぞれのタブに対してこのコードを実行します。
これはベストプラクティスですか?これはリストビューであり、ViewHolderパターンを優れたパフォーマンスにしました。
私は何が欠けていますか?
で
getActivity().runOnUiThread(new Runnable(){...};
を置き換えることができます。 .. –ハムなぜcricket_007? – Wavrik
このセクションは、 'onViewCreated'の後のUIスレッドに既にあるので、 –