2015-04-04 36 views
-1

我有一個巨大的圖像渲染(1024x25373p)切成99張1024x256p的圖像。 我試圖使用ListView,但沒有成功:它滾動時崩潰,沒有任何錯誤(免除一行說,過程停止)。 所以,我的問題是,我該如何渲染這個巨大的圖像?如何使用listview渲染巨大的圖像?

請注意,我試圖通過moagrius使用TileView,沒有成功(我不能讓它與導覽工作)

+0

爵士,郵編及logcat的 – 2015-04-04 09:28:48

+0

顯示您的項目視圖佈局 – Xcihnegn 2015-04-04 09:31:18

+1

你需要做的閱讀有關如何縮放圖像了很多。每張圖片需要大約1MB的RAM。所以99需要99MB左右!即使有很大的堆,你也無法加載這些堆。 – Simon 2015-04-04 09:37:08

回答

0

作爲一個建議,

  1. 如果這是列表視圖,您可能不需要「1024x256p」這樣的較大尺寸的圖像。 imageView的實際尺寸可能會比這更少。因此,如果您嘗試直接加載這些圖片而沒有進行某些處理,則會造成 堆的浪費。

  2. 默認情況下,您需要根據您需要的實際尺寸縮放圖像。很好的exapmple和代碼已發佈在official doc

  3. 您需要釋放內存或清除在特定時刻在列表視圖中不可見的所有位圖。

  4. 您可以使用進度加載器將圖像加載到列表視圖中。然後根據滾動進行加載。

  5. 此外,您可以在清單中定義lager heap enable,儘管它不被推薦,但必須在高度可用內存的應用程序中執行。

    機器人:largeHeap =「真」