相关疑难解决方法(0)

如何在Android中发现我的应用程序的内存使用情况?

如何以编程方式找到我的Android应用程序上使用的内存?

我希望有办法做到这一点.另外,我如何获得手机的免费记忆?

java memory android memory-management

787
推荐指数
7
解决办法
30万
查看次数

在Android上将大型位图文件的大小调整为缩放输出文件

我在一个文件中有一个大位图(比如3888x2592).现在,我想将该位图的大小调整为800x533并将其保存到另一个文件中.我通常会通过调用Bitmap.createBitmap方法来缩放位图,但它需要一个源位图作为第一个参数,我无法提供,因为将原始图像加载到Bitmap对象当然会超出内存(例如,请参见此处).

我也无法读取位图,例如,BitmapFactory.decodeFile(file, options)提供a BitmapFactory.Options.inSampleSize,因为我想将其调整为精确的宽度和高度.使用inSampleSize会将位图的大小调整为972x648(如果我使用inSampleSize=4)或778x518(如果我使用inSampleSize=5,它甚至不是2的幂).

我还想避免使用inSampleSize在第一步中使用例如972x648读取图像,然后在第二步中将其大小调整为800x533,因为与直接调整原始图像大小相比,质量会很差.

总结我的问题:是否有办法读取10MP或更高的大图像文件并将其保存到新的图像文件,调整大小到特定的新宽度和高度,而不会得到OutOfMemory异常?

我也尝试BitmapFactory.decodeFile(file, options)手动将Options.outHeight和Options.outWidth值设置为800和533,但它不起作用.

android resize image bitmap

214
推荐指数
8
解决办法
22万
查看次数

标签 统计

android ×2

bitmap ×1

image ×1

java ×1

memory ×1

memory-management ×1

resize ×1