2013-09-29 47 views
2

我正在開發一種AudioBook類型的應用程序,它需要有一些圖像,並顯示一些文本,並且當「語音」開始說話等時,文本將被突出顯示。支持大量圖片

但我的問題,是圖像,我有21個圖像,每個圖像,代表一個頁面: 我的第一種方法是使用ViewPager來模擬書籍轉換,但是當在第13頁,應用程序只是簡單地會崩潰。用'OutOfMemoryError'。 我的第二種方法是使用FrameLayout來保存片段,但正如在ViewPager中一樣,應用程序在第14頁崩潰,出現同樣的錯誤'OutOfMemoryError',圖像大約爲300kb - 500kb MAX。

不知道爲什麼會發生這種情況,我正在使用FragmentTransaction的'replace'方法進行片段替換。並與MediaPlayer音頻播放我使用'release'的每個方法..

非常感謝你們夥計們!

回答

1

問題是你沒有正確處理圖像,如果它們沒有正確縮放,你會得到一個OutofMemory。我建議你使用:https://github.com/nostra13/Android-Universal-Image-Loader這將有助於防止此錯誤,並且實現起來非常簡單,而不是試圖讓它適用於某個設備,然後再崩潰。

+0

我在ImageView上使用fitXY的scaleType,那是不正確的? – NemesisDoom

+0

沒有,因爲Android縮放圖像的方式,您最終將整個位圖加載到內存中,所以如果要這樣做,您必須執行一大堆只給ImageView一個特定分辨率的位圖的東西,但它很多更容易使用該庫。之前使用它,非常容易使用,並最終節省您的時間。 –

+0

我正在查看它!非常感謝人! – NemesisDoom