我正在使用包含按钮列表的菜单开发应用程序,当您单击其中一个按钮时,将打开另一个活动(每个按钮具有不同图像的相同活动),显示图像视图。问题是当我在不同的按钮中点击几次(打开新图像)时,应用程序崩溃,我无法解决它。有帮助吗?感谢。
答案 0 :(得分: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()中调用此方法(也需要覆盖该方法)。