android – 如何选择最佳图像大小不超过VM预算?

前端之家收集整理的这篇文章主要介绍了android – 如何选择最佳图像大小不超过VM预算?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的应用用户中,选择图像和程序可让用户对图像进行更改.由于有很多不同的 Android设备,我的程序在一些设备上崩溃,这些设备的堆大小较少.我想计算用户手机的最佳尺寸,以免因VM预算而崩溃.我添加了“Picsay Pro”的截图,它正是我正在寻找的.我知道“BitmapFactory.Options”我唯一的问题是找到一种方法来决定图像尺寸,这不会因为VM预算而导致应用程序崩溃.

解决方法

计算手机剩余的可用空间:

long freeMemory =(Runtime.getRuntime().maxMemory()) – (Debug.getNativeHeapAllocatedSize());

哪里,

Runtime.getRuntime().maxMemory() – 返回总堆限制大小(以字节为单位).

Debug.getNativeHeapAllocatedSize() – 返回应用程序已使用的数据量(以字节为单位).

通过此公式计算您正在使用的位图的大小,

long Bytes_allocated =(图像的高度)*(图像的宽度)* 4;

比较freeMemory和Bytes_allocated以选择适合您的应用程序的大小.

猜你在找的Android相关文章