2010-06-12 64 views
0

作为我的小部件的一部分,我使用了Camera对象的一个​​实例。保存一个对象以备后用

这就是我想要做的。用户将点击我的小部件,我得到一个相机的实例(如果它尚未存储),使用它,然后存储它。如果他们再次点击小部件,我想使用之前使用过的相同实例。

这可能吗?

EDITED:我无法释放相机(android.hardware.Camera),直到用户第二次单击该小部件。所以用户第一次点击小部件时,我拿到相机并保持不动,直到他们再次点击小部件。

我遇到的问题是第二次点击,我试图再次获取相机,我不能,因为我目前正在使用它。

+0

什么是相机? – MounirReg 2010-06-12 13:50:34

回答

0

好吧,所以我想通了,我想。

如果我为widget类创建一个静态类对象,它似乎将它保留在内存中。

private static Camera camera = null;

然后将其设置在代码..

camera = Camera.open();

似乎后来以保持它在内存中使用。我不知道这是否真的很低效,但这是我能够实现它的唯一方法。

0

不,应用程序小部件不可能“存储”任意对象。

如果“相机”对象是android.hardware.Camera,那么您应该尽快使用它并将其释放,无论如何,其他应用程序都可以使用相机。

+0

直到用户第二次单击小部件时,我才能释放相机。有没有其他的方式来处理这个问题? – 2010-06-12 14:00:43

+0

@ Eclipsed4utoo:我在解释你确实是'android.hardware.Camera'。在这种情况下,你想要的东西不可能多次结束 - 不仅你不能坚持一个“相机”(如上所述),而且你需要一个用于相机预览的“SurfaceView”,这对于一个应用来说是不可能的小部件。欢迎您使用'Camera'和'Activity'。 – CommonsWare 2010-06-12 14:29:58

+0

我正在谈论那台相机,但我没有使用SurfaceView(并且不需要它)。 – 2010-06-12 14:33:10

相关问题