2011-09-05 120 views
2

我有一個指向圖像的mediastore URI。我想用這個URI設置壁紙。我嘗試使用BitmapFactory.decodeFile,但問題是如果它的大內存不足。用URI設置壁紙

有沒有另一種方法可以做到這一點。

感謝

回答

1

這個問題是有點老了,但什麼嘿...

可以解決這個問題,下面的代碼。但是,如果您將圖像製作得非常小,然後將其拉伸以適應非常大的圖像,您將失去質量。話雖如此,如果圖像如此之大,你甚至無法加載它,而你只是想讓它充當你的牆紙,我認爲你會在以下方面很好。

  // use if resizing the image 
      BitmapFactory.Options options = new BitmapFactory.Options(); 

      // set to true to set image bounds 
      options.inJustDecodeBounds = true; 

      // set to 2, 4, 6, etc to create a progressively smaller image 
      options.inSampleSize = 2; 

      // set to false to prepare image for decoding 
      options.inJustDecodeBounds = false; 

      bitmap = BitmapFactory.decodeStream(is, null, options); 
+0

樣本大小應該總是2的冪。IE 2,4,8,16。 http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inSampleSize –