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轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...