我創建了一個使用相機的應用程序,並且在應用程序執行過程中屏幕始終處於打開狀態。Android:應用程序終止時如何釋放資源?
在onCreate()方法我加了鎖:
final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
this.mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
this.mWakeLock.acquire();
而且這是被覆蓋的的onStop()方法:
@Override
protected void onStop() {
if(mWakeLock.isHeld())
{
mWakeLock.release();
}
super.onStop();
}
但是,應用程序終止後屏幕保持上的所有如果我運行相機應用程序,它會遇到一個明顯出現的錯誤,因爲相機資源沒有被釋放。
有誰知道如何釋放應用程序終止時的所有資源?
你的建議不檢查鎖定狀態是確定的,如果釋放()是冪等操作。如果不是,那很糟糕。如果應用未能獲得鎖定並想關閉該應用,該怎麼辦? – Thushan 2009-07-02 20:23:51