Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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_Eclipse - Fatal编程技术网

Android 如何在退出活动后清除内存

Android 如何在退出活动后清除内存,android,eclipse,Android,Eclipse,正如标题所说,我有大约八个活动,布局都是高分辨率图像。在内存较低的较弱android设备上,它会单独打开每个活动,但当我尝试打开另一个活动时,它会崩溃。但当我重新启动应用程序并打开那个活动时,它就工作了。我应该如何从第一个活动的这些图像中清除应用程序内存,以便能够打开另一个活动?onDestroy()会清理吗?如果它喜欢xml布局中的资源图像,您不需要清理它们,Android会帮您清理。但是如果你使用一些大的位图对象 Bitmpap bmp; // not null bmp.recycle();

正如标题所说,我有大约八个活动,布局都是高分辨率图像。在内存较低的较弱android设备上,它会单独打开每个活动,但当我尝试打开另一个活动时,它会崩溃。但当我重新启动应用程序并打开那个活动时,它就工作了。我应该如何从第一个活动的这些图像中清除应用程序内存,以便能够打开另一个活动?onDestroy()会清理吗?

如果它喜欢xml布局中的资源图像,您不需要清理它们,Android会帮您清理。但是如果你使用一些大的位图对象

Bitmpap bmp; // not null
bmp.recycle();
bmp = null;

final boolean bmpIsRecycled = bmp.isRecycled()
// Returns true if this bitmap has been recycled.
释放与此位图关联的本机对象,并清除对像素数据的引用。这将不会同步释放像素数据;它只允许在没有其他引用的情况下对其进行垃圾收集。位图被标记为“死”,这意味着如果调用getPixels()或setPixels(),它将抛出异常,并且不会绘制任何内容。此操作无法反转,因此只有在确定位图没有其他用途时才应调用此操作。这是一个高级调用,通常不需要调用,因为当不再引用此位图时,正常GC进程将释放此内存


实际上,当你的应用程序崩溃时,你有什么错误日志?也许这与内存泄漏无关?

我想你不必为此担心。安卓系统为你做到了,所以是的,内存不足。我试着在应用程序中打开每个活动更多次,然后我开始了一个大图像,它崩溃了。。。所以我调整了大小,现在一切正常。