如何在不缩放的情况下处理大型位图

时间:2014-08-02 15:21:51

标签: android bitmap

我正在制作漫画类型的项目(用户可以滑动大约150页),我需要为每个页面加载大分辨率图像。但是对我来说缩小这些位图不是一个选项,因为如果缩小这些图像,用户可以放大这些页面,如果用户放大则看起来很糟糕。

如果在某些设备应用程序崩溃中执行期间达到35MB限制,我还检查了我的堆大小。

请建议在这种情况下我该怎么做。

1 个答案:

答案 0 :(得分:1)

大堆大小配置应用,Android会为您的应用分配额外的15-30%RAM,具体取决于设备:

<application ..............
             android:largeHeap="true"  <---------------
             android:label="string resource"


将图片加载活动配置为在专用流程中运行 大约是您的应用程序可用的RAM内存量的两倍 允许您投入大部分的ImageActivityProcess&#39;内存到图像加载逻辑:

 <activity android:name=".ImageActivity"
              android:label="@string/app_name" 
              android:process=":ImageActivityProcess"> <----------
    </activity>


我的猜测仍然是所有这些都会延迟而不是解决你的问题。移动设备 根本没有调整加载多个大图像。请记住,在大多数Android设备上,从像素大小到内存大小的 3-4因素,即4 MPix图像需要12-16 MB的RAM块。


再次考虑您的图像加载架构。考虑例如将缩小尺寸的图像加载到滚动条中,并且仅当用户单击图像或发出缩放命令时 - 加载完整比例位图。这就是我要做的事情