1

次のようなjsonオブジェクトから文字列を取得することがたくさんあります。

city1 = jsonobject.getJSONArray("object").getJSONObject(0).getString("city");

値がハルでない場合、この文字列をテキストビューに適用します。

if(city1.equals("")) {
   citylayout.setVisibility(View.GONE);
} else {
prefsmain2.edit().putInt("CITY", city1).commit();
citytxt.setText(city1);
}

このような最大60個のパラメーターがあります(都市、ランドマーク、地域、国など...)しかし、デバッガーからログを取得します:

振付師: 33 フレームをスキップしました! アプリケーションがメイン スレッドで処理しすぎている可能性があります。

AsyncTask から値を取得し、Handler を使用して新しいスレッドで setText を操作しますが、役に立たない...

4

1 に答える 1

0

複数のテキストビューのように機能するカスタム ビューを使用してみてください。一度にデータを与えて、ビューを無効にします。このアプローチを使用すると、フレーム ドロップを引き起こす可能性のある多くの再描画を避けることができます。

于 2014-08-01T21:37:42.003 に答える