2011-08-13 51 views
0

我試圖使用我在paint.net中創建的.png文件作爲drawable資源繪製到畫布,但我注意到一個問題...Android項目中可繪製資源的大小或數量是否有限制?

我嘗試創建幾個.png是500x500px像正常一樣將它們複製到res文件夾中,沒有錯誤,編譯正常。

但是,當應用程序運行時,應該將圖像繪製爲100x100px。

那麼當運行時檢索drawable時,應用程序會崩潰,並出現空指針異常。

這是什麼罪魁禍首?可繪製圖像太大了嗎?或者在重新調整圖像尺寸時是否存在限制?

另外,是否有在res文件夾或在一般大小限制的文件的數量是否有限制?

編輯:確定這裏是一些代碼,當然,我留下了很多了,但這裏的JIST:

下面是如何創建一個句柄,並給它正確的資源:

Drawable pic; 
pic = context.getResources().getDrawable(R.drawable.picture); 

以下是我這畫到畫布:

pic.setBounds(x, y, x + 100, y + 100); 
pic.draw(c); 

UPDATE

這是驅動我的堅果! 問題顯然是java或eclipse中的錯誤,即使它本地化到我的機器上。 我已經做了一些試驗,發現問題可能會受到影響。 假設我在我的可繪製文件夾中有10個圖像。所有的圖像可以被引用,沒有錯誤,除了第7號。我得到的錯誤的一個例子是,如果我刪除數字6,數字7將顯示,但現在數字8將得到錯誤。這清楚地告訴我,png文件本身沒有錯誤,但問題在於如何檢索。它也與圖像的訂單有關。

我試過了一切。清理/構建不起作用。我甚至重新上傳了整個可繪製文件,錯誤仍然以相同的方式出現。

這幾乎就像有「洞」可填充的PNG提拉文件,但後來他們都無法使用。並在文件沒有放入孔後按字母順序填充這些文件後。如果你明白我的意思。

我也偶爾會碰到一個奇怪的錯誤在那裏,似乎所有的突然每一參考檢索錯誤的圖像。例如:在10幅圖像的例子中,參考10將顯示9,9將顯示8,8將顯示7,等等。這個錯誤在乾淨和重建後似乎消失了,但我忍不住相信它的相關。

+0

該圖像不是太大,引用或引用它有問題。請在指定圖像的地方張貼stacktrace和一段代碼。還要確保您的項目中包含圖像的所有必需版本。如果僅將它存儲在drawable-hdpi中,它很可能會在ldpi設備上崩潰。 – 2011-08-13 12:33:33

+0

我也這麼認爲,也許只是一個sytax錯誤,但不是。我發現如果我縮小圖像尺寸,它運行良好。我想這是因爲嘗試重新調整圖像大小而導致的某種錯誤。我會很快舉出一些例子,但我幾乎肯定代碼是好的。不,我沒有使用密度特定的文件夾,只有「DRAWABLE」文件夾。我想知道這是否也可能與它有關? – cody

+0

請求。發佈代碼。我對「我幾乎可以肯定這是操作系統有問題」的經驗是,在99%的情況下,這是我們這邊一個愚蠢的錯誤。 –

回答

0

事實證明,這個問題並沒有任何與圖像本身,我還沒有完全通過,但我發現,這些照片是沒有問題的一些長期的,耗時的故障範圍縮小的原因,我個人有其他錯誤。稍後我會在這個主題上發表更具體的問題。

相關問題