Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 了解手机的处理/存储能力_Android_Image Processing_Ram - Fatal编程技术网

Android 了解手机的处理/存储能力

Android 了解手机的处理/存储能力,android,image-processing,ram,Android,Image Processing,Ram,我正在尝试找出在我的应用程序中处理照片的最大图像分辨率。 它的第一个版本已经上线了,我已经收到了几个OutOfMemoryError异常报告 是否有办法确定可用内存,或者是否有其他策略来找到在不同手机上处理图像的最佳解决方案(实际上是最大图像分辨率)?您可以使用“活动管理器”方法获得应用程序的大致内存限制(以兆字节为单位): 您可以使用它并计算图像的最大大小,这当然取决于内部图像格式(请参阅)。谢谢-好的观点。有没有什么方法可以立即释放位图对象的内存,这样我就可以确保在每个时间点,只有使用过的对

我正在尝试找出在我的应用程序中处理照片的最大图像分辨率。 它的第一个版本已经上线了,我已经收到了几个OutOfMemoryError异常报告


是否有办法确定可用内存,或者是否有其他策略来找到在不同手机上处理图像的最佳解决方案(实际上是最大图像分辨率)?

您可以使用“活动管理器”方法获得应用程序的大致内存限制(以兆字节为单位):


您可以使用它并计算图像的最大大小,这当然取决于内部图像格式(请参阅)。

谢谢-好的观点。有没有什么方法可以立即释放位图对象的内存,这样我就可以确保在每个时间点,只有使用过的对象在消耗内存?我想用“可能”来回答这个问题。我从未编写过需要这种内存管理的应用程序。当然,您可以调用
System.gc()
之类的函数来指示垃圾收集器现在是运行一些清理的好时机。但我相信,完全释放位图需要多次gc运行。这只是gc的一个指示,所以这可能会被忽略。如果你有时间的话,看看,已经有一段时间了,但我记得它有一些有用的细节。
ActivityManager am = (ActivityManager)getSystemService(Service.ACTIVITY_SERVICE);
int maxMemoryInMb = am.getMemoryClass();