2017-03-07 10 views
0

번 반복하여 실행해야하는 지침이 있습니다. 반복 지연은 변수입니다 (지연은 파일에서 가져옴).지연된 Android 복수 게시

반복 시간은 매우 (밀리 초 정밀도)이어야합니다.

postDelayed와 함께 Handler를 사용하려고했지만 정확도가 떨어졌습니다. 이는 반복 빈도가 초당 10 회 이상이기 때문에 발생합니다.

어떤 아이디어라도 환영합니다! 여기

는 핸들러의 예는 다음과 같습니다

new Runnable() { 
     @Override 
     public void run() {    
     mHandler.postDelayed(this, delay);    
     barometerResult.gotBarometer(barometerValueModelList.get(i).getBarometerValue());    
     } 
    }.run(); 
+0

처리기를 사용하여 코드를 게시하십시오. 앱이 활성화되어있는 동안이 코드가 실행됩니까? 아니면 기기가 비활성 상태에서 코드를 호출 할 수있는 가능성이 배경에 있습니까? – Goran

+0

핸들러가 뷰를 업데이트합니까? 나는 이것이 메인 스레드에서 실행되는 것 같은데, 맞습니까? – Goran

+0

minSdkVersion이란 무엇입니까? – Cochi

답변

0

그 보장하지 그래서 나는, 그것이 큐에서 할 수있는 많은 다른 것들과 UI 스레드에서 실행 처리기를 사용하여 좋은 아이디어라고 생각하지 마십시오 실행 가능한 코드가 그렇게 정확하게 실행됩니다.

Runnable에서의 작업이 업데이트 UI에 관련되지 않은 논리 작업 인 경우 타이머를 사용하여 수행하지만 별도의 스레드에서 실행된다는 점에 유의하십시오.

+0

핸들러는 메인 (UI) 스레드에 없어도 사용할 수 있습니다. – Goran

+0

제가 알고 있듯이 핸들러는 java 타이머보다 정확합니다. http://stackoverflow.com/questions/20330355/timertask-or-handler –