2013-06-12 1 views
0

VideoView에 궁금한 점이 있습니다. 3 개의 비디오를 표시하는 Im. 하나가 완료되면 다음 하나를 선택하는 등의 작업을 수행합니다.Android - 3 일 동안 재생 한 동영상보기

약 3 일 동안 완벽하게 작동합니다. 그런 다음 비디오가 맨 처음에 나옵니다. MediaController 재생 버튼을 누르면 (일시 중지 기호가 표시됨) 아무 것도 일어나지 않습니다. 재생 버튼을 클릭하려고하면 keyDispatchingTimedOut 오류가 발생합니다.

어떤 아이디어가 있을지 모르지만이 문제를 어떻게 해결할 수 있습니까?

편집 :

나는 앱하지만 장치를 다시 시작됩니다. VideoView이 포함 된 활동을 호출하면 ANR이 표시됩니다. 또한 전체 장치가 평소보다 느리게 반응합니다 ...

I/InputDispatcher(2381): Application is not responding: Window{41319d40 com.android.myapp/com.android.myapp.MainActivity paused=false}. 5003.9ms since event, 5003.2ms since wait started 
I/WindowManager(2381): Input event dispatching timed out sending to com.android.myapp/com.android.myapp.MainActivity 
I/Process (2381): Sending signal. PID: 7704 SIG: 3 
I/dalvikvm(7704): threadid=3: reacting to signal 3 
I/dalvikvm(7704): Wrote stack traces to '/data/anr/traces.txt' 
I/Process (2381): Sending signal. PID: 2381 SIG: 3 
I/dalvikvm(2381): threadid=3: reacting to signal 3 
I/dalvikvm(2381): Wrote stack traces to '/data/anr/traces.txt' 
I/Process (2381): Sending signal. PID: 2454 SIG: 3 
I/dalvikvm(2454): threadid=3: reacting to signal 3 
I/dalvikvm(2454): Wrote stack traces to '/data/anr/traces.txt' 
I/Process (2381): Sending signal. PID: 2535 SIG: 3 
I/dalvikvm(2535): threadid=3: reacting to signal 3 
I/dalvikvm(2535): Wrote stack traces to '/data/anr/traces.txt' 
D/dalvikvm(2381): GC_CONCURRENT freed 644K, 10% free 9566K/10567K, paused 3ms+17ms 
D/dalvikvm(2381): GC_EXPLICIT freed 411K, 9% free 9668K/10567K, paused 2ms+6ms 
E/ActivityManager(2381): ANR in com.android.myapp (com.android.myapp/.MainActivity) 
E/ActivityManager(2381): Reason: keyDispatchingTimedOut 
E/ActivityManager(2381): Load: 6.45/6.46/6.33 
E/ActivityManager(2381): CPU usage from 7152ms to 1372ms ago: 
E/ActivityManager(2381): 99% 2282/mediaserver: 99% user + 0% kernel/faults: 3 minor 
E/ActivityManager(2381): 7.4% 1318/mmcqd/0: 0% user + 7.4% kernel 
E/ActivityManager(2381): 24% 7704/com.android.myapp: 19% user + 5.3% kernel/faults: 245 minor 
E/ActivityManager(2381): 1.2% 2381/system_server: 1.2% user + 0% kernel/faults: 24 minor 
E/ActivityManager(2381): 1.2% 7563/kworker/0:1: 0% user + 1.2% kernel 
E/ActivityManager(2381): 1% 2279/surfaceflinger: 0.5% user + 0.5% kernel 
E/ActivityManager(2381): 0.3% 7204/kworker/0:3: 0% user + 0.3% kernel 
E/ActivityManager(2381): 0% 1271/galcore daemon : 0% user + 0% kernel 
E/ActivityManager(2381): 0% 2288/magd: 0% user + 0% kernel/faults: 2 minor 
E/ActivityManager(2381): 0% 7464/kworker/u:1: 0% user + 0% kernel 
E/ActivityManager(2381): 0% 7731/kworker/1:0: 0% user + 0% kernel 
E/ActivityManager(2381): 92% TOTAL: 59% user + 28% kernel + 4.9% iowait 
E/ActivityManager(2381): CPU usage from 1006ms to 1524ms later: 
E/ActivityManager(2381): 96% 2282/mediaserver: 96% user + 0% kernel 
E/ActivityManager(2381):  96% 6962/Binder Thread #: 96% user + 0% kernel 
E/ActivityManager(2381): 38% 1318/mmcqd/0: 0% user + 38% kernel 
E/ActivityManager(2381): 19% 7704/com.android.myapp: 13% user + 5.8% kernel 
E/ActivityManager(2381):  19% 7704/.ai.mediaplayer: 13% user + 5.8% kernel 
E/ActivityManager(2381): 7.8% 7204/kworker/0:3: 0% user + 7.8% kernel 
E/ActivityManager(2381): 1.1% 2279/surfaceflinger: 0% user + 1.1% kernel 
E/ActivityManager(2381): 100% TOTAL: 54% user + 28% kernel + 15% iowait + 0.9% softirq 
W/ActivityManager(2381): Force finishing activity com.android.myapp/.MainActivity 
W/audio_hw_primary(2282): start_output_stream... 
W/audio_hw_primary(2282): headphone 8 ,headset 0 ,speaker 0, earpiece 0, 
W/audio_hw_primary(2282): card 0, port 0 device 8 
I/ActivityManager(2381): Killing ProcessRecord{41316378 7704:com.android.myapp/10043}: user's request 
I/WindowManager(2381): WIN DEATH: Window{41319d40 com.android.myapp/com.android.myapp.MainActivity paused=true} 
I/ActivityManager(2381): Process com.android.myapp (pid 7704) has died. 
W/InputManagerService(2381): Got RemoteException sending setActive(false) notification to pid 7704 uid 10043 
D/dalvikvm(2454): GC_FOR_ALLOC freed 294K, 82% free 7775K/41799K, paused 44ms 
I/dalvikvm-heap(2454): Grow heap (frag case) to 17.027MB for 9830416-byte allocation 
D/dalvikvm(2454): GC_CONCURRENT freed 4K, 59% free 17370K/41799K, paused 4ms+8ms 
W/audio_hw_primary(2282): do_out_standby... 
D/dalvikvm(2454): GC_FOR_ALLOC freed 0K, 59% free 17370K/41799K, paused 26ms 
I/dalvikvm-heap(2454): Grow heap (frag case) to 38.884MB for 22924816-byte allocation 
D/dalvikvm(2454): GC_CONCURRENT freed 0K, 5% free 39758K/41799K, paused 3ms+6ms 
I/ActivityManager(2381): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=org.jtb.alogcat cmp=org.jtb.alogcat/.LogActivity bnds=[528,94][624,190]} from pid 2560 

답변

2

ANR은 응답 없음을 의미합니다. 기본적으로 애플리케이션이 너무 바빠서 Android가 아직 살아 있다고 말할 수 없습니다.

당신이 할 수있는 일은 AsyncTask을 살펴보고 다른 스레드를 시작하십시오.
이 방법을 사용하면 전체 활동을 차단하지 않으며 작업을 비동기 적으로 실행할 수 있습니다.

그래도 도움이되지 않는다면 위에주의 된 Neron T처럼 메모리 누수 문제가 발생할 수 있습니다.
This 비디오가 메모리 누출 문제로 많은 도움이되었습니다.

+0

새로운 작업을 호출하면 비동기가 그렇게 많은 의미를 갖지 못합니다. 그렇습니까? 진짜 문제는 내 선수가 멈추는 것입니다.이 문제를 해결해야합니다. – Ron