2014-02-25 75 views
0

在本地應用程序之一中,我們需要加載包含建築體系結構的會議地圖佈局。圖像分辨率爲4648 * 3504(寬度8 *高度),文件大小爲563KB。我已將它放在「res/drawable-nodpi /」文件夾下,以便在多個設備屏幕密度上縮放圖像。Android從本地drawable-nodpi載入更高分辨率的圖像並縮放

我們將在普通視圖中加載佈局圖像。然後用戶單擊地圖以放大並詳細查看佈局區域。一旦達到最大縮放級別,我們將允許用戶在會議大廳中標記其當前位置。 (在地圖上,我們將有展廳和用戶可以通過點擊地圖來標記他們的位置)。

爲此,當我嘗試加載圖像時,它顯示內存不足錯誤。所以根據developer.android.com中的說明,我根據可用的屏幕寬度和高度縮放圖像,加載圖像時沒有任何問題。但是當我放大圖像時,由於將圖像縮放爲屏幕尺寸,佈局的清晰度缺失。

有時當我在佈局xml文件中直接加載大圖時,「位圖太大而無法上傳到紋理」。

有沒有其他方法來實現上述要求。如何在Imageview中加載高分辨率圖像。圖像庫如何處理高質量的大尺寸文件。

任何輸入或實現它的方法,都會對我有很大的幫助。

由於事先

斯里尼瓦桑

回答

-1

對於大的圖像尺寸的內存溢出錯誤總是發生

原因:

虛擬堆大小您的設備/堆大小,每個設備有不同的VHS如:64 MB,128 MB,256 MB等

和w當你的圖像加載到你的活動中時,它將佔用內存大小來訪問圖像,並且如果圖像具有較大的比例並且它將超過堆大小限制。

應用將是崩潰由於OutOfMemory例外

解決方案:

  1. 降低分辨率4648 * 3504到尺寸更小(寬×高),並增加dpi的圖像,對於縮放的目的,它會運行良好。

  2. 安卓:largeHeap在manifest.xml

通過這個Android = 「真」:largeHeap = 「真」 的HEAPSIZE會去一倍。

通過這個你可以保存應用程序崩潰。