保存对象以供日后使用

时间:2010-06-12 13:37:06

标签: android

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

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

这可能吗?

已编辑:在用户第二次点击窗口小部件之前,我无法释放相机(android.hardware.Camera)。因此,用户第一次点击小部件,我拿到相机并保持不变,直到他们再次点击小部件。

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

2 个答案:

答案 0 :(得分:0)

不,应用小部件无法“存储”任意对象。

如果“相机”对象为android.hardware.Camera,您应该使用它并在完成后立即将其释放,以便其他应用程序可以使用相机。

答案 1 :(得分:0)

好的,所以我想出来了,我想。

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

private static Camera camera = null;

然后在代码中设置..

camera = Camera.open();

似乎确实将其保存在内存中以供日后使用。我不知道这是否真的效率低下,但这是我能让它发挥作用的唯一方法。