0.1秒ごとにアクティビティにインテントを送信するサービスがあります。クロノメーターのカスタム実装を更新するために使用します。ここですべてがうまくいきます。問題は、アクティビティのフラグメント内のTableViewにある14個のTextViewを更新するときに発生します。ここでアプリは非常に遅いです。
サービスからインテントを受け取るアクティビティのメソッド:
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
long milis = intent.getLongExtra("milis",0);
if( mFragment != null)
mFragment.Update(milis);
}
};
TextViewsを更新するフラグメント内のコード:
public void actualizarTiempoJuego(long milis){
// Se recuperan los tiempos acumulados y se aumenta la cantidad pasada como parámetro
for(int i=0;i<7;++i) {
long mCurrentMilis1 = mVectorMilis1.get(i);
long mCurrentMilis2 = mVectorMilis2.get(i);
TextView1 t1 = mListaTitularLayoutLocal.get(i);
TextView1 t2 = mListaTitularLayoutVisitante.get(i);
t1.setText(String.value(milis + mCurrentMilis1));
t2.setText(String.value(milis + mCurrentMilis2));
}
}
私は何か間違ったことをしているのですか、それとも効率の点で非常に複雑なことをしようとしているだけですか?