일부 온라인 데이터를 표시하는 차트 구성 요소가있는 Adobe AIR 응용 프로그램이 있습니다. 차트 구성 요소에는 약 10 개의 매개 변수가 표시되어야합니다. 응용 프로그램에는 현재 시스템 시간을 표시하는 타이머가 있습니다.Adobe AIR 문제
차트 구성 요소는 아래 그림과 같이 (바인딩 가능한 개체를 사용하여) 타이머에서 호출됩니다. 타이머의 지연을 막기 위해 별도의 바인드 가능 객체가 사용됩니다.
private function onTimerEvent(event:TimerEvent):void
{
//Update time in screen
oCurrDate = new Date();
curTime = oDateformatter.format(oCurrDate).toString();
oCurrDate = null;
//oUpdate- Bindable object to inform chart about update
//Call chart every 250 ms
oUpdate.bUpdate = !oUpdate.bUpdate;
}
아래 그림과 같이 차트의 업데이트 이벤트에서 콜링 기능을 사용합니다. updateParameter()는 각 매개 변수의 데이터 제공자를 업데이트하고 그 매개 변수를 그립니다.
public function onUpdateEvent(evt:PropertyChangeEvent):void
{
//aPlotIndex set to 0 for first parameter
aPlotIndex.push(0);
this.callLater(updateParameter, aPlotIndex);
}
문제는 20 일에서 21 일 사이에 타이머 및 차트 업데이트가 중단되는 것입니다. 20 일 또는 21 일 후에 업데이트는 마우스 이동시에만 발생합니다. 마우스를 움직이면 표시되는 & 데이터가 업데이트됩니다.
나는 응용 프로그램을 프로파일 링했는데 메모리 누출 문제가 없음을 발견했습니다. 나는 모든 오류를 기록하지만 로그에서도 오류가 발생하지 않았습니다. 모든 것이 이상하게 보입니다.
- calllater 기능을 사용했기 때문입니까?
- 타이머가 아직 실행 중이지만 프레임 업데이트가 발생하지 않았습니까?
Flex SDK3.3 및 Flex AIR 버전 2.0.4.13090을 사용하고 있습니다.
이 문제를 해결하려면 안내하십시오.
감사합니다 (SO에 많은 포스터가 최신 방법을 실현 자신의 Flex와 AIR SDK를이없는) 알 수 없음 큰 문제가있는 경우 대답은 조쉬. 타이머 재설정 및 시작 옵션이 추가되었습니다. 그러나 여전히 동일한 문제 (프레임 업데이트 중지)가 계속됩니다. 한 가지 더 중요한 것은 UI 업데이트가 임의의 간격 후에 중지된다는 것입니다. 그것은 반드시 20 일 또는 21 일이 아닙니다. 때로는 일주일 연속 실행 후에도 발생합니다. – softwarefellow