2013-06-11 93 views
0

我正在開發一個應用程序的android和當一切都應該完成我已經發現了一個引渡行爲。在某些設備中,屏幕開始閃爍,並且沒有明顯的原因。它可能發生在初始飛濺,只有一個AsyncTask查詢web服務或在主屏幕上根本沒有asynctask。4.2閃爍的Android屏幕沒有明顯的原因

這很奇怪,因爲只發生在Android 4.2的設備中,也不會發生在2.3或2.2中。我試過在清單中啓用標籤harware-accelration,但我不知道可能是什麼原因

有些幫助嗎?

在此先感謝。

+0

是否可以在設備的「監測」部分下的設置>開發人員選項中啓用嚴格模式?這使得屏幕在應用程序在主線程上執行長操作時會閃爍。 – BigBen3216

+0

不,我已檢查它並且該選項未被選中。謝謝 – slk

回答

2

最後我管理如何避免這種情況。 Here是訣竅,只是改變我的應用程序的覆蓋OnConfigurationChanged。 這是我的舊代碼

@Override 
    public void onConfigurationChanged(Configuration newConfig) {  
     super.onConfigurationChanged(newConfig); 
     Locale l = getLocale(); 
     Configuration config = new Configuration(newConfig); // get Modifiable Config from actual config changed 
     config.locale = l; 
     getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); 

    } 

,我已經改變了這個

@Override 
    public void onConfigurationChanged(Configuration newConfig) {  
     super.onConfigurationChanged(newConfig); 
     Locale l = getLocale();   
     Configuration config = new Configuration(newConfig); // get Modifiable Config from actual config changed 
     config.locale = l; 
     getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); 

    } 

我希望有人認爲這是有用的。

+1

這兩個代碼塊有什麼區別? –

+0

這兩個代碼塊似乎沒有區別! –

+0

雖然這兩個塊是相同的,但你的訣竅:從舊的作品創建新的配置。 –