2014-04-02 58 views
0

單擊其中一個選項卡會導致延遲一秒或兩秒。 無法確認這是計算延遲或垃圾收集器延遲,以釋放位於該選項卡上的位圖的內存。如何在垃圾收集過程中獲得進度條的運行?

該日誌具有以釋放內存等一些達爾維克處理 -

11月4日至2日:45:58.109:d/dalvikvm(1930):GC_CONCURRENT釋放1638K,21% 免費15516K/19591K ,暫停12ms + 4ms,總計222ms

有沒有在虛擬機釋放位圖內存的時候運行進度條的方法?

這樣,應用程序用戶無需等待選項卡單擊,因爲有時延遲足夠長,以至於用戶可能認爲沒有任何事情發生。

+0

222毫秒是一秒鐘的1/5。這不能延遲2秒。 –

+0

對不起,延遲因設備和數據而異。這個過程中,我的手機比我的平板電腦慢。以上是平板電腦。 –

+0

因爲GC,我不認爲你有延遲。 –

回答

-1

使用的AsyncTask概念在機器人,代替用戶垃圾在Doinbackgroud方法清潔,例如click here

+1

首先你不能控制GC。如果您調用System.gc(),那並不意味着GC將啓動。另外GC本身在一個單獨的線程中運行。 –

+0

@Mighter是我錯過了.. – pavanmvn