0

我正在开发一个带有包含按钮列表的菜单的应用程序,当您单击其中一个按钮时,会打开另一个活动(每个按钮具有不同图像的相同活动)显示图像视图。问题是,当我在不同的按钮(打开新图像)中单击几次时,应用程序崩溃并且我无法解决它。有什么帮助吗?谢谢。

4

1 回答 1

1

这个问题是因为您在视图中使用了大量图像并且从不清理内存,然后在某一时刻您没有更多内存用于新图像。

解决该问题的一种形式是清理内存始终是您的破坏和活动。您可以覆盖活动中的下一个方法以清理内存。

@Override
    public void unbindDrawables(View view) {
        if (view.getBackground() != null) {
            view.getBackground().setCallback(null);
        }
        if (view instanceof ViewGroup) {
            for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
                unbindDrawables(((ViewGroup) view).getChildAt(i));
            }
            ((ViewGroup) view).removeAllViews();
        }
    }

该方法查看视图,在您的情况下,这些视图将是您的 ImageView 和 ImageButton。最后,您需要在方法 onDestroy() 中调用此方法(也需要覆盖该方法)。

于 2013-07-26T18:07:36.207 回答