Tôi có một Dịch vụ gửi Intent đến Hoạt động của tôi sau mỗi 0,1 giây. Tôi sử dụng nó để cập nhật một triển khai tùy chỉnh của một Chronometer. Ở đây mọi thứ diễn ra đúng. Vấn đề xảy ra khi tôi muốn cập nhật 14 TextView tôi có trong một TableView bên trong một Fragment trong hoạt động của tôi. Ở đây ứng dụng rất chậm.Nhiều TextViews cập nhật rất chậm
Phương pháp trong Hoạt động của tôi, nơi mà nó nhận được tiếp cận mục đích khỏi Dịch vụ:
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);
}
};
Mã bên trong Fragment nơi tôi cập nhật các TextView:
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));
}
}
Tôi có làm điều gì sai trái, hoặc là nó chỉ là tôi đang cố gắng để làm một cái gì đó rất phức tạp về hiệu quả?
tôi sẽ tạo ra một chuỗi từ 'milis 'và sử dụng nó 14 lần, thay vì cố gắng tạo ra 14 chuỗi giống hệt nhau. Và sau đó sử dụng các công cụ Android để kiểm tra xem một tiêu chuẩn cho vòng lặp, một vòng lặp cho mỗi hay sử dụng các Iterator cung cấp kết quả nhanh nhất. – Sam
@Sam. Đây là một phiên bản nhẹ. Tôi đã sao chép ở đây như thế để dễ hiểu hơn. Tôi chỉnh sửa nó để làm cho nó hoàn chỉnh hơn. – gutiory
Có thêm thông tin nào bạn muốn để chấp nhận câu trả lời không ?? –