2011-04-02 50 views
0

我正在編寫一個應用程序,該應用程序在應用程序打開的整個過程中都會播放音頻。我注意到,在我的測試階段,我的電池耗盡的速度比沒有使用手機上的應用程序快得多。這可能是由於應用程序中的音頻文件數量(應用程序最終爲25-35 mb)或廣播接收器仍在註冊,並且在不再需要該應用程序時佔用一些計算能力。允許Android應用程序更快地被垃圾收集?

我的問題是(我知道沒有通用的「關閉應用程序」方法)我怎樣才能把整個應用程序放在堆棧的底部,下一行是垃圾收集?

感謝

回答

1

你應該看看Android應用的生命週期(here for Activity) - 在onResume當應用進入後臺或不再可見你應該釋放廣播接收器等,並重新註冊。

如果你的應用只有一個活動,你可以撥打finish()表明你不再需要它。

+0

我釋放偵聽器onDestroy。我這樣做是因爲我創建了偵聽器,等待屏幕解鎖以恢復功能(否則我的背景音頻將在活動可見並隱藏在鎖定屏幕之前播放)這也很棘手,因爲我有許多活動可能會或可能無法啓動並在堆棧中。我是否會想要殺死這個過程來擺脫它們? – adamacdo 2011-04-04 03:54:56