我正在尝试找出用于在我的应用中处理照片的最大图像分辨率。 它的第一个版本已经在线,我已经收到了几个OutOfMemoryError异常报告。
有没有办法确定可用内存,还是有其他策略可以找到处理不同手机上图像的最佳解决方案(实际上是最高图像分辨率)?
答案 0 :(得分:1)
你可以得到你的约。使用活动管理器getMemoryClass()
方法对您的应用(以兆字节为单位)的内存限制:
ActivityManager am = (ActivityManager)getSystemService(Service.ACTIVITY_SERVICE);
int maxMemoryInMb = am.getMemoryClass();
您可以使用它并计算图像的最大尺寸,这取决于当然的内部图像格式(请参阅Bitmap.Config)。