如何停止在View上调用onDraw()函数?

时间:2011-06-08 19:58:40

标签: android

我清理我在一个活动中加载的位图,然后再进入另一个活动。

例如:

pic1 = null;
System.gc();
nextActivityIntent = new Intent(ThisActivity,NextActivity.class);
ThisActivity.startActivityForResult(nextActivityIntent,123);    

但问题是在我调用“pic1 = null”之后有几次系统调用onDraw。当它发生时,应用程序崩溃并指向NullPoint异常。

Cab任何一个建议我在设置“pic1 = null”后如何停止调用onDraw()。我可以使用同步来实现这一目标。

1 个答案:

答案 0 :(得分:1)

您可以尝试view.setWillNotDraw(true);link here),但我不确定是否会阻止它。

另外,如果您的第一个活动完成,则无需将位图设置为null,也不需要调用System.gc();。在活动被销毁之后,位图将被恢复。

如果由于某种原因你还想这样做,你应该在onDestroy()回调中做到这一点,以避免任何绘图问题。查看Activity lifecycle了解详情。