Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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
Java Android中的内存管理是如何工作的?I';我遇到了很多内存不足的异常_Java_Android_Out Of Memory - Fatal编程技术网

Java Android中的内存管理是如何工作的?I';我遇到了很多内存不足的异常

Java Android中的内存管理是如何工作的?I';我遇到了很多内存不足的异常,java,android,out-of-memory,Java,Android,Out Of Memory,我在学习如何用Android编程的同时也在学习java。我的印象是java为您处理所有内存管理,但这似乎不是真的。我的小应用程序运行良好,但现在我正在为学步儿童开发一个有很多图形的益智应用程序。在应用程序运行一段时间后,我遇到了很多内存不足的异常。目前它运行良好,但我解决了这个问题,当我使用完位图指针后,将其设置为null。在每个服务结束时,我将所有位图对象设置为null,并使其正常工作 它可以工作,但我不明白我是否应该释放java中的指针?将位图设置为null将允许垃圾收集器运行并清理它(您可

我在学习如何用Android编程的同时也在学习java。我的印象是java为您处理所有内存管理,但这似乎不是真的。我的小应用程序运行良好,但现在我正在为学步儿童开发一个有很多图形的益智应用程序。在应用程序运行一段时间后,我遇到了很多内存不足的异常。目前它运行良好,但我解决了这个问题,当我使用完位图指针后,将其设置为null。在每个服务结束时,我将所有位图对象设置为null,并使其正常工作


它可以工作,但我不明白我是否应该释放java中的指针?

将位图设置为null将允许垃圾收集器运行并清理它(您可以通过调用recycle来加快进程)。如果你不需要图片,最好这样做,否则抓取大量的大图片会很快占用你应用程序运行所允许的所有内存(android不会给你很多)


如果图像超出范围,这将自动发生(但再次调用recycle将加快此过程),但如果有大量全局静态图像保留了大量图像,则此时您将遇到麻烦。

您需要调用
recycle()
在位图上,当您使用完位图以释放其可能的内存副本时,这是提高理解能力的良好开端