2016-04-01 7 views
0

私は、64個のボタンを持つAndroidの電話アプリケーションを開発しています。私は各ボタンのテキストを迅速かつ継続的に変更します。たとえば、あるボタンのテキストは25msごとに更新されます。私はでボタンのテキストを変更します。私はいくつかの低速の携帯電話にアプリケーションをテストするときAndroid:Button.setText()performance

button.setText(String.format("%d", integer)); 

ただし、アプリが遅れます。このコード部分を削除すれば、アプリは大丈夫になります。

私の友人と議論したところでは、.setTextメソッドのそれぞれは一度スクリーンをリフレッシュします。したがって、私はレート25ms/64ボタン= 0.4msで画面をリフレッシュしています。だから、遅い電話には問題があります。

私は本当に尋ねたいですか? それが真実なら、どのように問題を解決するのですか?

+0

ボタンはプログラムによって作成しますか? – myoungjin

答えて

0

私のアプリケーションには、60個のボタンがあります。 60秒ごとに内容が更新されます。

グリッドビューでボタンが膨らんでいます。その内容はアダプターによって再利用パターンで設定されます。それは問題ではない。

0

メインスレッドでボタンのテキストを変更すると、アプリが遅くなります。 他のスレッドのボタンのテキストを変更する必要があります。メインスレッドは変更しないでください。

+0

私は、Android Developersサイトのスレッドについての説明を見直しました:http://developer.android.com/guide/components/processes-and-threads.html。主UIの外側からUIコンポーネントを操作しないでください。 UIスレッド。何か案が? – eepty

+0

彼はUIスレッドを参照していましたが、私は非同期スレッドであり、同じではないと言いました – jevely