2011-12-08 10 views
7

我爲我的應用程序創建了一個新的主題集,並決定我不再需要舊的主題。 因此,我將我的新圖像文件複製到舊圖像文件上,替換所有圖像文件。我爲我的所有drawables文件夾做了這個。 然後我重新創建R.java以防萬一,並重建我的應用程序。被替換成文件夾中的其他人後,繪圖板不會改變

出於某種原因,它正在拾取舊圖像並顯示這些圖像。 好的,我想,必須是內存/緩存中的東西。我只是擦拭我的模擬器圖像,然後再試一次。

這樣做後,應用程序仍然使用舊的圖片。我以爲我一定犯了一個錯誤,並檢查了Eclipse中的圖像,但它顯示了那裏的新圖像。 然後,我採取了激烈的事情,並刪除drawables文件夾。當然,這導致我的項目變得異樣,所以我很快添加了所需的新照片並重建項目。沒有錯誤出現,所有圖片在Eclipse中都出現了變化。

但是,當運行應用程序,舊的圖片仍然顯示。除了在應用程序的某些部分。在我使用的70張左右的照片中,只有2張現在正在顯示新版本。所有其他人仍然在展示舊照片。

這裏可能會發生什麼?我嘗試重新啓動我的模擬器,重新刷新項目,創建一個新項目使用舊的源代碼,重新啓動我的手機,在安裝應用程序之前擦除所有應用程序數據,刪除所有圖像並用新的替換它們,但似乎沒有工作。

包含新圖像的應用程序如何在完全新鮮的模擬器上運行,仍能顯示至少在一小時前已刪除的圖像?

+0

你刷新了日食嗎? (你可以在eclipse中選擇你的res文件夾並按f5) – Jave

+0

忘記將它添加到列表中,但是是的。那是我做的第一件事。我嘗試了Eclipse在刷新/修復/構建項目方面可能會拋出的所有選項。即使GUI構建器顯示新照片,但似乎沒有任何改變結果。 –

+0

我想你也試過不同的模擬器,以防萬一?或在真實的設備上? – Jave

回答

22

擦除您的bin文件夾刪除舊的編譯數據。

+0

如果您的bin文件夾中沒有任何內容,那麼您也可以嘗試擦除'gen'文件夾。 – darren

+1

如果您不熟悉擦除整個bin文件夾,請嘗試'resources.ap_'文件 - 爲我工作! – danj1974

+0

我只是刪除了'bin /'文件夾,並解決了這個問題 – William

5

TL; DR:檢查舊版本的其他drawable-xxxdpi文件夾!

我有同樣的問題,沒有解決方案在這裏幫助。這讓我瘋狂。

我已經用file.png替換了res/drawable-hdpi/file.jpg。這是一個不同的延伸,並有不同的內容。 Eclipse看到新版本,但沒有清理/刷新,卸載應用程序或手動刪除bin/gen文件夾使設備看到新版本。

然後我意識到我在其他版本:

  • RES /繪製-LDPI/file.jpg
  • RES /繪製-MDPI/file.jpg
  • RES /繪製-xhdpi/file.jpg

一旦我將這些版本替換爲file.png的大小調整後的版本,那麼應用程序的簡單重新運行就可以解決問題。看起來Android資源編譯器首先在另一個可繪製的文件夾中看到了一個「jpg」版本的文件,然後在drawable-hdpi中忽略了隨後的「png」版本。即使它運行的設備是hdpi,drawable也會從另一個dpi文件夾中出來。

0

如果檢查其他可繪製文件夾的舊版本並擦除bin和gen文件夾不起作用。

尋找:setImageResource(R.drawable.YourPNG)在你的代碼中可能會覆蓋從res/layout /文件夾在xml中配置的drawable。

0

Android的工作室: 如果CleanBuild doesn't工作,

去嘗試File>Invalidate Caches/Restart

File>Synchronize

都爲我工作。

0

更簡單的解決方案是從您的模擬器卸載應用程序然後通過從Android Studio再次運行它重新安裝。(這將迫使一切更新)

這總是一個奇怪的問題,但我想通過從我的電腦刪除舊的圖像,但舊的圖像仍然會顯示在應用程序(這是不可能的)。所以我覺得問題出在模擬器上。 (因爲模擬器有自己的存儲空間)

如果文件路徑和文件名保持不變我猜Android不會更新您的應用程序,即使新圖像大小不同。奇怪的。

相關問題