Java 如何从以前布局的图片中清除内存?当转到不同的布局/活动时,如何清理内存?

Java 如何从以前布局的图片中清除内存?当转到不同的布局/活动时,如何清理内存?,java,android,android-layout,android-studio,out-of-memory,Java,Android,Android Layout,Android Studio,Out Of Memory,我的应用程序由4个布局文件组成,每个布局使用不同的图像作为背景。我设法加载布局1和布局2,但在转到布局3之后,我得到了错误“由以下原因引起:java.lang.OutOfMemoryError” 我怀疑这是因为布局1和布局2仍在内存中。有没有办法每次我去一个新的布局时都清理内存,这样我就不会耗尽内存?谢谢 另外,我使用安卓工作室 p.S 2我不确定这是否会改变什么,只是为了以防万一,我会选择不同的活动/布局: previouspage.setOnClickListener(

我的应用程序由4个布局文件组成,每个布局使用不同的图像作为背景。我设法加载布局1和布局2,但在转到布局3之后,我得到了错误“由以下原因引起:java.lang.OutOfMemoryError”

我怀疑这是因为布局1和布局2仍在内存中。有没有办法每次我去一个新的布局时都清理内存,这样我就不会耗尽内存?谢谢

另外,我使用安卓工作室

p.S 2我不确定这是否会改变什么,只是为了以防万一,我会选择不同的活动/布局:

previouspage.setOnClickListener(
                new Button.OnClickListener() {
                    public void onClick(View v) {
                        Intent intent = new Intent(v.getContext(), secondPage.class);
                        startActivity(intent);
                    }
                }
        );

        nextpage.setOnClickListener(
                new Button.OnClickListener() {
                    public void onClick(View v) {
                        Intent intent = new Intent(v.getContext(), FourthPage.class);
                        startActivity(intent);
                    }
                }
        );
请注意,从中调用finish()方法的活动已被销毁,其所有资源都已排队进行垃圾收集,并且此活动使用的所有内存都将在下一个GC循环期间释放

如果确实要尽快撤消内存,请重写活动的onDestroy方法:

@Override
public void onDestroy() {
    super.onDestroy();
    Runtime.getRuntime().gc();      
}
@Override
public void onDestroy() {
    super.onDestroy();
    Runtime.getRuntime().gc();      
}