2012-02-17 1 views
2

PhoneGap에서 컴파일하고 Android에 배포 한 샘플 응용 프로그램을 사용하고 있습니다. 지연 시간이 현저하게 - 새로 고침 시간이 100ms로 설정되어 있지만 가속 판독 값이 1 ~ 2 초마다 업데이트되는 느낌이들 수도 있습니다. 이 전화는 안드로이드 2.xx OS를 실행하는 단일 코어 HTC 전화입니다. (더 자세한 내용은 없으므로 지금 전화가 없습니다.)PhoneGap 안드로이드 용 가속도계 응용 프로그램이 미친 것처럼 느껴진다. 내 코드에 무슨 문제가 있습니까?

가속 예

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
<script type="text/javascript" charset="utf-8"> 

var watchID = null; 

// Wait for PhoneGap to load 
document.addEventListener("deviceready", onDeviceReady, false); 

// PhoneGap is ready, start watching 
function onDeviceReady() { 
    startWatch(); 
} 

// Start watching the acceleration 
function startWatch() { 
    // Update acceleration every 3 seconds 
    var options = { frequency: 100}; 

    watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, 
     options); 
} 

// Stop watching the acceleration 
function stopWatch() { 
    if (watchID) { 
     navigator.accelerometer.clearWatch(watchID); 
     watchID = null; 
    } 
} 

// onSuccess: Get a snapshot of the current acceleration 
function onSuccess(acceleration) { 
    var element = document.getElementById('accelerometer'); 
    element.innerHTML = 'Acceleration X: ' + acceleration.x + '<br />' + 
         'Acceleration Y: ' + acceleration.y + '<br />' + 
         'Acceleration Z: ' + acceleration.z + '<br />' + 
         'Timestamp: '  + acceleration.timestamp + '<br />'; 
} 

// onError: Failed to get the acceleration 
// 
function onError() { 
    alert('oooops!'); 
} 

</script> 

가속도계를 기다리는 중 ... 정지 당신이 장치 또는 시뮬레이터 테스트

+0

은 당신이 정말로 허용 대답하여 문제를 해결 했습니까? – cherouvim

+0

아니, 조금 나아 졌어 -하지만 큰 개선은 없었어. – antonpug

+0

도와주세요 : 다른 모든 것들은 전화로 작동하지만 가속도계는 응답 오류가 없거나 설정 파일이있는 것만 보았습니다. –

답변

1

이것이 도움이 될지 모르겠지만, innerHTML 대신 값을 사용하면 string이 더 나은 성능을 보입니다. 이 jsperf 밖으로

확인 : http://jsperf.com/innerhtml-perf

1

를보고?

시뮬레이터는 항상 OSX에서 지연 시간을가집니다.

시뮬레이터에 더 많은 메모리를 할당하거나 앱을 코딩하는보다 효율적인 방법을 찾으십시오.

+0

아니요, 실제 전화로 테스트 중입니다! 시장에서 다른 유사한 가속도 센서 판독 앱에 비해 데이터 읽기가 지연되는 것처럼 보입니다. – antonpug

관련 문제