2013-02-06 78 views
1

如果我在橫向模式下啓動我的應用程序,getDrawingCache()返回我需要的位圖,將方向更改爲縱向模式(應用程序正在運行時),getDrawingCache ()返回null。 如果我以縱向模式啓動我的應用程序,getDrawingCache()將返回我需要的位圖,與哪個方向無關。方法getDrawingCache()返回null取決於縱向或橫向模式

這裏發生了什麼?從風景或肖像啓動應用程序有什麼區別?爲什麼它會改變getDrawingCache()方法?

這裏是我的代碼:

mPlaceHolderBitmap = null; 
if (imageView.getDrawable() != null) { 
    imageView.setDrawingCacheEnabled(true); 
    imageView.buildDrawingCache(true); 
    mPlaceHolderBitmap = imageView.getDrawingCache(true); 
} 

我還試圖用getDrawingCache沒有布爾或不調用buildDrawingCache但總是相同的。

回答

0

當你改變方向的時候onConfigurationChanged()調用你用過這個方法嗎???

+0

不,我不使用這種方法 – Informatic0re

+0

如果你已經允許你的清單上的方向改變,那麼當你改變方向時間點去這個方法和你寫代碼來獲取繪圖緩存? oncreate()或onResume()? – Prachi

+0

這個方法在2秒後被調用。首先顯示一個小尺寸的圖像。在2秒鐘後加載高質量圖像。在加載高質量的同時,小圖像被這個drawingCache所替代。在onCreate之後調用2秒。 – Informatic0re

相關問題