2015-05-05 74 views
2

我有一個應用程序,用於在24x7循環中播放一系列視頻(這將安裝在Kiosk模式下)。一切似乎都在奏效,但在大約24小時運行後,視頻一開始就開始口吃。視頻直接從文件系統播放,所以網絡延遲不是問題。運行約24小時後,Android VideoView在開始時出現斷斷續續的情況

我的日誌消息沒有顯示任何明顯的東西。當每個視頻開始時,我會得到其中一個:W/MediaPlayer﹕ info/warning (702, 0)。然後在視頻播放時大約每秒一秒:W/MediaPlayer﹕ info/warning (36865, 0)。我無法找到關於此第二個狀態代碼的任何信息。

我不懷疑有內存泄漏,因爲我的使用量持續徘徊在2.5MB左右。任何想法可能會造成這種情況?

編輯:我確實在全局logcat中找到了這些。它們在口吃期間發生。任何人都知道這意味着什麼和/或對解決方案有深入瞭解嗎?

W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
D/ISystemWriteService( 115): readSysfs could not contact remote 
D/ISystemWriteService( 115): readSysfs could not contact remote 
D/ISystemWriteService( 115): readSysfs could not contact remote 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
I/amplayer(6310): **[update_state]pid:26 status=PLAYING(last:PLAYING) err=0x0 curtime=4 (ms:4473) fulltime=30 lsttime=4 
I/amplayer(6310): **[update_state]abuflevel=0.18177669 vbublevel=0.34421411 abufrp=9871880 vbufrp=7b46200 read_end=1 
V/AmlogicPlayer(6310): update_process pid=26, current=4,status=[PLAYING] 
V/AmlogicPlayer(6310): Playing percent =13,mPlayTime:4473,mStreamTime:4473 
V/AmlogicPlayer(6310): Playing percent on percent=99,bufed pos=7223869,Duration=7249275 
V/AmSuperPlayer(6310): [notify::498] 
V/AmSuperPlayer(6310): [Notify::505] 
V/AmSuperPlayer(6310): cookie=0xb7307d40,msg=3,ext1=63,ext2=0 
V/MediaPlayerService(6310): [27] notify (0xb723d660, 3, 99, 0) 
D/ISystemWriteService( 115): readSysfs could not contact remote 
V/AmSuperPlayer(6310): [notify::498] 
V/AmSuperPlayer(6310): [Notify::505] 
V/AmSuperPlayer(6310): cookie=0xb7307d40,msg=c8,ext1=9001,ext2=0 
V/MediaPlayerService(6310): [27] notify (0xb723d660, 200, 36865, 0) 
I/AmlogicPlayer(6310): Got amplayer download speed : 0 kbps 
D/ISystemWriteService( 115): readSysfs could not contact remote 
D/ISystemWriteService( 115): readSysfs could not contact remote 
W/MediaPlayer(7190): info/warning (36865, 0) 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
I/amplayer(6310): **[update_state]pid:26 status=PLAYING(last:PLAYING) err=0x0 curtime=5 (ms:5007) fulltime=30 lsttime=4 
I/amplayer(6310): **[update_state]abuflevel=0.17787044 vbublevel=0.34024277 abufrp=9873080 vbufrp=7b55600 read_end=1 
V/AmlogicPlayer(6310): update_process pid=26, current=5,status=[PLAYING] 
V/AmlogicPlayer(6310): Playing percent =14,mPlayTime:5007,mStreamTime:5007 
V/AmlogicPlayer(6310): Playing percent on percent=99,bufed pos=7223869,Duration=7249275 
V/AmSuperPlayer(6310): [notify::498] 
V/AmSuperPlayer(6310): [Notify::505] 
V/AmSuperPlayer(6310): cookie=0xb7307d40,msg=3,ext1=63,ext2=0 
V/MediaPlayerService(6310): [27] notify (0xb723d660, 3, 99, 0) 
V/AmSuperPlayer(6310): [notify::498] 
V/AmSuperPlayer(6310): [Notify::505] 
V/AmSuperPlayer(6310): cookie=0xb7307d40,msg=c8,ext1=9001,ext2=0 
V/MediaPlayerService(6310): [27] notify (0xb723d660, 200, 36865, 0) 
I/AmlogicPlayer(6310): Got amplayer download speed : 0 kbps 
W/MediaPlayer(7190): info/warning (36865, 0) 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 
W/AudioFlinger(6310): OutputTrack::write() 0xb36e8008 thread 0xb6ffebc8 no more overflow buffers 

回答

0

這可能不是一個答案,而是一個建議。 我有類似的問題與基於amlogic的設備。

我正在製作的應用程序,它處理了大量的圖像和視頻直播流,基本上運行良好,直到設備已開啓24小時+,就像您提到的那樣。唯一解決了我的問題的就是切換到ART(Android Runtime),而不是Dalvik。

相關問題