2010-06-12 67 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

相關問題