如何在android中为内存管理采样位图?

如何在android中为内存管理采样位图?,android,bitmap,out-of-memory,image-scaling,Android,Bitmap,Out Of Memory,Image Scaling,我已经为图像编辑做了一个演示,当我将图像传递到另一个activityGrow heap size时,我面临一个问题,我的应用程序崩溃了,请告诉我如何直接从资源中采样并调整位图大小以解决内存问题,我的代码如下: 代码 我获得了decodebitmapFromresources的解决方案,但我的位图可用,因此如何使用此目录。我遇到了相同的问题,应用程序崩溃并在日志中显示堆大小、分配大小和位图大小的消息,我所做的是检查设备的宽度和高度,并在此基础上缩放位图或计算样本大小 int screenHeigh

我已经为图像编辑做了一个演示,当我将图像传递到另一个activityGrow heap size时,我面临一个问题,我的应用程序崩溃了,请告诉我如何直接从资源中采样并调整位图大小以解决内存问题,我的代码如下: 代码


我获得了decodebitmapFromresources的解决方案,但我的位图可用,因此如何使用此目录。

我遇到了相同的问题,应用程序崩溃并在日志中显示堆大小、分配大小和位图大小的消息,我所做的是检查设备的宽度和高度,并在此基础上缩放位图或计算样本大小

int screenHeight = getResources().getDisplayMetrics().heightPixels;
int screenWidth = getResources().getDisplayMetrics().widthPixels; 

获取宽度和高度,然后将其放入reqWidth和reqHeight

您好,谢谢您的回复,但我不知道如何在函数中传递我的位图,decodeSampledBitmapFromResource,因为它需要资源,而且我已经有位图可用。如何将我的位图传递给它?如何在全局中存储位图。照片编辑器\位图???因为您正在将此位图作为byteArray发送到另一个活动
int screenHeight = getResources().getDisplayMetrics().heightPixels;
int screenWidth = getResources().getDisplayMetrics().widthPixels;