2012-01-12 143 views
0

我已經創建了一個簡單的圖像滑塊「動態壁紙」,它將在DoubleTap中調用圖像。我知道在處理圖像時存在許多不同的OOM問題,因爲Android系統必須將圖像轉換爲BMP,這實質上增加了圖像大小。動態壁紙預覽模式

我的問題是,當我從動態壁紙菜單屏幕激活動態壁紙,並在預覽模式下查看它,它完美的作品。我能夠瀏覽我的所有圖像,沒有任何滯後或問題。但是,當我去設置動態壁紙時,它會崩潰並出現OOM錯誤。任何理由爲什麼這可能是?

回答

1

預覽模式在不透明的表面上繪製,而您的桌面在其上繪製圖標,更新和動畫。

您是否優化了圖形?如果你使用jpg/png,這可能會有一些幫助,比如http://trimage.org

+0

我所有的圖形都是通過Photoshop中的「Save For Web」優化的。我使用的是960x800圖像,對於大多數hdpi和xhdpi屏幕密度sans平板電腦來說似乎都很有用。每張圖片的文件大小大約爲150-250kb。不過,我的印象是,無論文件大小如何,圖像的分辨率決定了Android系統將其轉換爲BMP後的實際文件大小。這個過程通常會將圖像打印到1-2mb,而這個大小相當大。無論如何,感謝您的幫助! – rdebits 2012-01-12 18:29:50

+0

等一下。哪些設備會失敗?也許你需要適應爲不同設備提供不同的資源。這將不可避免地增加APK的大小,但會提高問題設備的性能。 http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources ALSO,http://photobatch.stani.be/可以幫助您批量轉換爲各自的DPI和解決方案。 – TryTryAgain 2012-01-12 18:36:17

+0

對於HDPI,我使用的是960x800。 MDPI @ 720x600。 LDPI圖像@ 480x400。然而,當我去SET動態壁紙時,我得到了這個錯誤的一個變種:E/dalvikvm-heap(15936):682240字節的外部分配對於這個過程來說太大了。 E/dalvikvm(15936):內存不足:堆大小= 4499KB,分配的= 2555KB,位圖大小= 11606KB,限制= 13756KB E/dalvikvm(15936):修剪信息:足跡= 2883KB,允許的足跡= 4867KB,修正= 368KB 01-12 12:01:15.896:E/GraphicsJNI(15936):VM不會讓我們分配682240字節 – rdebits 2012-01-12 19:02:07