2012-08-13 3 views
1

Android 용 매우 기본적인 위젯을 개발 중입니다. 내 위젯에는 정적 인 것으로 선언 된 사용자 선택을 유지하는 변수가 있습니다. 문제는 잠시 후 오랫동안 기다린 후에 위젯이 다소 비게되고 정적 변수가 비어 있음을 의심합니다. 삶의 "역사"를 잃지 않고 내 위젯의 상태를 저장하는 솔루션은 무엇입니까? onSaveInstanceState onPause가 AppWidgetProvider에 정의되어 있지 않습니다. 어떠한 제안?Android 위젯이 대기 상태에서 변수를 잃습니다.

답변

0

SharePreference에 저장할 수 있습니다. 변수를 사용할 때마다 먼저 변수가 비어 있지 않은지 (null) 확인하고, 저장된 버전을 SharedPreferences에서 검색하십시오. 또한 변수가 업데이트 될 때마다 SharedPrefs에 저장하십시오.

if(variable==null){ 
    variable = getFromSharedPrefs(); 
} 

// Use it further 
+0

언제 생각 하나? 모든 업데이트마다? SharedPrefs에서 지속적으로 변수를 푸시는데 너무 무겁지 않습니까? – Alberto

+0

그렇습니다.하지만 적어도 변수 값이 손실되지 않도록 할 수 있습니다. 따라서 응용 프로그램이 작동하지 않을 수있는 시간을 강조하지 않아도됩니다. –

+0

나는 당신이 제안한 것처럼했지만, 프로세스가 죽거나 일시 중지되면 여전히 느려지는 부분이 변수를 잃어 버린다. – Alberto

관련 문제