매우 간단한 응용 프로그램이 있는데, 주요 위협 요소는 2 개의 AsyncTasks입니다. AsyncTask를가하는AsyncTask가 매우 느립니다.
private class waitPlayer extends AsyncTask<Integer, Integer, Void> {
@Override
protected Void doInBackground(Integer... params) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
CreateLog.addToLog(e.toString);
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// Update your layout here
super.onPostExecute(result);
setCanPlay(true, lastPlayerPlayed);
}
@Override
protected void onProgressUpdate(Integer... progress) {
//progress_p1.setProgress((int) progress[0]);
//progress_p2.setProgress((int) progress[0]);
}
}
유일한 것은 200 밀리 초를 기다리고하고 끝낼 후에이 메서드를 호출 2 AsyncTasks 거의 동일,이 내 AsyncTasks 중 하나의 코드입니다. 메서드는 AsyncTask를 다시 호출합니다. 다른 AsyncTask는 거의 동일하며 3000ms를 기다리고 다른 메소드를 호출합니다.
문제점은 두 번째 AsyncTask를 추가 한 후에 응용 프로그램이 매우 느려졌습니다. AsyncTasks가 실행 중일 때 몇 초 동결됩니다. My Logcat에 가비지 컬렉터 알림이 가득합니다.
휴대 전화가 멈추지 않고 응용 프로그램 만 고정되어 있습니다. 나는 약 200MB의 여유 RAM을 가지고있다.
01-06 19:26:00.695: W/ActivityThread(25739): Application com.obattech.twoplayergame is waiting for the debugger on port 8100...
01-06 19:26:00.705: I/System.out(25739): Sending WAIT chunk
01-06 19:26:00.710: I/dalvikvm(25739): Debugger is active
01-06 19:26:00.905: I/System.out(25739): Debugger has connected
01-06 19:26:00.905: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:01.105: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:01.305: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:01.505: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:01.705: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:01.910: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:02.110: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:02.310: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:02.510: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:02.710: I/System.out(25739): waiting for debugger to settle...
01-06 19:26:02.910: I/System.out(25739): debugger has settled (1351)
01-06 19:26:03.095: D/libEGL(25739): loaded /system/lib/egl/libEGL_mali.so
01-06 19:26:03.095: D/libEGL(25739): loaded /system/lib/egl/libGLESv1_CM_mali.so
01-06 19:26:03.100: D/libEGL(25739): loaded /system/lib/egl/libGLESv2_mali.so
01-06 19:26:03.100: D/(25739): Device driver API match
01-06 19:26:03.100: D/(25739): Device driver API version: 10
01-06 19:26:03.100: D/(25739): User space API version: 10
01-06 19:26:03.100: D/(25739): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012
01-06 19:26:03.135: D/OpenGLRenderer(25739): Enabling debug mode 0
01-06 19:26:05.680: D/AbsListView(25739): Get MotionRecognitionManager
01-06 19:26:09.415: D/dalvikvm(25739): GC_CONCURRENT freed 92K, 5% free 12473K/13127K, paused 22ms+7ms, total 67ms
01-06 19:26:09.425: D/AbsListView(25739): [unregisterDoubleTapMotionListener]
01-06 19:26:09.425: I/MotionRecognitionManager(25739): .unregisterListener :/listener count = 0->0, [email protected]
01-06 19:26:12.515: D/dalvikvm(25739): GC_CONCURRENT freed 120K, 6% free 12813K/13575K, paused 3ms+2ms, total 21ms
01-06 19:26:12.515: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 14ms
01-06 19:26:13.665: D/dalvikvm(25739): GC_FOR_ALLOC freed 183K, 7% free 13024K/13895K, paused 17ms, total 18ms
01-06 19:26:15.205: D/dalvikvm(25739): GC_CONCURRENT freed 535K, 9% free 12937K/14151K, paused 2ms+3ms, total 19ms
01-06 19:26:15.205: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 16ms
01-06 19:26:17.095: D/dalvikvm(25739): GC_CONCURRENT freed 536K, 9% free 12904K/14151K, paused 4ms+2ms, total 25ms
01-06 19:26:17.095: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 7ms
01-06 19:26:17.160: D/dalvikvm(25739): GC_CONCURRENT freed 445K, 9% free 12893K/14151K, paused 12ms+12ms, total 35ms
01-06 19:26:19.765: D/dalvikvm(25739): GC_CONCURRENT freed 196K, 7% free 13201K/14151K, paused 5ms+5ms, total 36ms
01-06 19:26:19.765: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 13ms
01-06 19:26:23.260: D/dalvikvm(25739): GC_FOR_ALLOC freed 524K, 9% free 13025K/14279K, paused 18ms, total 18ms
01-06 19:26:26.350: D/dalvikvm(25739): GC_CONCURRENT freed 536K, 10% free 12992K/14279K, paused 3ms+2ms, total 22ms
01-06 19:26:26.350: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 5ms
01-06 19:26:28.290: D/dalvikvm(25739): GC_CONCURRENT freed 548K, 10% free 12948K/14279K, paused 6ms+2ms, total 26ms
01-06 19:26:28.290: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 8ms
01-06 19:26:29.445: D/dalvikvm(25739): GC_CONCURRENT freed 548K, 10% free 12904K/14279K, paused 7ms+2ms, total 30ms
01-06 19:26:29.445: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 7ms
01-06 19:26:29.510: D/dalvikvm(25739): GC_CONCURRENT freed 137K, 8% free 13201K/14279K, paused 3ms+13ms, total 36ms
01-06 19:26:32.065: D/dalvikvm(25739): GC_FOR_ALLOC freed 480K, 9% free 13068K/14279K, paused 17ms, total 17ms
01-06 19:26:36.005: D/dalvikvm(25739): GC_CONCURRENT freed 536K, 9% free 13036K/14279K, paused 14ms+4ms, total 49ms
01-06 19:26:36.005: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 12ms
01-06 19:26:38.665: D/dalvikvm(25739): GC_CONCURRENT freed 547K, 10% free 12992K/14279K, paused 15ms+4ms, total 48ms
01-06 19:26:38.665: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 15ms
01-06 19:26:40.605: D/dalvikvm(25739): GC_CONCURRENT freed 548K, 10% free 12948K/14279K, paused 13ms+2ms, total 32ms
01-06 19:26:40.605: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 6ms
01-06 19:26:43.160: D/dalvikvm(25739): GC_CONCURRENT freed 548K, 10% free 12904K/14279K, paused 13ms+2ms, total 34ms
01-06 19:26:43.160: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 4ms
01-06 19:26:43.225: D/dalvikvm(25739): GC_CONCURRENT freed 533K, 11% free 12805K/14279K, paused 2ms+13ms, total 32ms
01-06 19:26:46.360: D/dalvikvm(25739): GC_CONCURRENT freed 108K, 8% free 13201K/14279K, paused 3ms+2ms, total 22ms
01-06 19:26:46.360: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 8ms
01-06 19:26:47.980: D/dalvikvm(25739): GC_CONCURRENT freed 524K, 9% free 13080K/14279K, paused 12ms+2ms, total 34ms
01-06 19:26:47.980: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 12ms
01-06 19:26:50.405: D/dalvikvm(25739): GC_CONCURRENT freed 547K, 9% free 13036K/14279K, paused 2ms+3ms, total 21ms
01-06 19:26:50.405: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 8ms
01-06 19:26:53.925: D/dalvikvm(25739): GC_CONCURRENT freed 548K, 10% free 12992K/14279K, paused 4ms+4ms, total 38ms
01-06 19:26:53.925: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 18ms
01-06 19:26:55.260: D/dalvikvm(25739): GC_CONCURRENT freed 548K, 10% free 12948K/14279K, paused 8ms+2ms, total 36ms
01-06 19:26:55.260: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 10ms
01-06 19:26:57.080: D/dalvikvm(25739): GC_CONCURRENT freed 548K, 10% free 12904K/14279K, paused 22ms+2ms, total 46ms
01-06 19:26:57.080: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 10ms
01-06 19:26:57.135: D/dalvikvm(25739): GC_CONCURRENT freed 489K, 11% free 12849K/14279K, paused 2ms+12ms, total 29ms
01-06 19:26:58.420: D/dalvikvm(25739): GC_CONCURRENT freed 152K, 8% free 13201K/14279K, paused 13ms+2ms, total 33ms
01-06 19:26:58.420: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 6ms
01-06 19:26:59.565: D/dalvikvm(25739): GC_FOR_ALLOC freed 524K, 9% free 13025K/14279K, paused 18ms, total 19ms
01-06 19:27:02.100: D/dalvikvm(25739): GC_CONCURRENT freed 536K, 10% free 12992K/14279K, paused 2ms+2ms, total 22ms
01-06 19:27:02.100: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 8ms
01-06 19:27:03.685: D/dalvikvm(25739): GC_CONCURRENT freed 547K, 10% free 12948K/14279K, paused 7ms+3ms, total 29ms
01-06 19:27:03.685: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 8ms
01-06 19:27:06.535: D/dalvikvm(25739): GC_CONCURRENT freed 548K, 10% free 12904K/14279K, paused 18ms+3ms, total 52ms
01-06 19:27:06.535: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 9ms
01-06 19:27:06.580: D/dalvikvm(25739): GC_CONCURRENT freed 489K, 11% free 12849K/14279K, paused 2ms+2ms, total 18ms
01-06 19:27:08.065: D/dalvikvm(25739): GC_CONCURRENT freed 152K, 8% free 13201K/14279K, paused 3ms+1ms, total 41ms
01-06 19:27:08.065: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 19ms
01-06 19:27:11.150: D/dalvikvm(25739): GC_FOR_ALLOC freed 526K, 9% free 13025K/14279K, paused 17ms, total 17ms
01-06 19:27:12.600: D/dalvikvm(25739): GC_CONCURRENT freed 545K, 10% free 12982K/14279K, paused 4ms+5ms, total 52ms
01-06 19:27:12.600: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 26ms
01-06 19:27:15.065: D/dalvikvm(25739): GC_CONCURRENT freed 550K, 10% free 12938K/14279K, paused 12ms+3ms, total 37ms
01-06 19:27:15.065: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 6ms
01-06 19:27:15.125: D/dalvikvm(25739): GC_CONCURRENT freed 521K, 11% free 12805K/14279K, paused 3ms+12ms, total 32ms
01-06 19:27:19.575: D/dalvikvm(25739): GC_CONCURRENT freed 110K, 8% free 13201K/14279K, paused 12ms+3ms, total 41ms
01-06 19:27:19.575: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 4ms
01-06 19:27:29.260: D/dalvikvm(25739): GC_FOR_ALLOC freed 534K, 9% free 13028K/14279K, paused 15ms, total 19ms
01-06 19:27:50.315: D/dalvikvm(25739): GC_CONCURRENT freed 546K, 10% free 12957K/14279K, paused 13ms+2ms, total 39ms
01-06 19:27:50.315: D/dalvikvm(25739): WAIT_FOR_CONCURRENT_GC blocked 9ms
01-06 19:27:55.140: D/dalvikvm(25739): GC_CONCURRENT freed 537K, 11% free 12803K/14279K, paused 17ms+3ms, total 36ms
01-06 19:28:05.150: W/jdwp(25739): Debugger is telling the VM to exit with code=1
01-06 19:28:05.150: I/dalvikvm(25739): GC lifetime allocation: 42530 bytes
01-06 19:28:05.510: D/libEGL(27466): loaded /system/lib/egl/libEGL_mali.so
01-06 19:28:05.520: D/libEGL(27466): loaded /system/lib/egl/libGLESv1_CM_mali.so
01-06 19:28:05.520: D/libEGL(27466): loaded /system/lib/egl/libGLESv2_mali.so
01-06 19:28:05.525: D/(27466): Device driver API match
01-06 19:28:05.525: D/(27466): Device driver API version: 10
01-06 19:28:05.525: D/(27466): User space API version: 10
01-06 19:28:05.525: D/(27466): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012
01-06 19:28:05.550: D/OpenGLRenderer(27466): Enabling debug mode 0
01-06 19:28:19.100: D/libEGL(27760): loaded /system/lib/egl/libEGL_mali.so
01-06 19:28:19.105: D/libEGL(27760): loaded /system/lib/egl/libGLESv1_CM_mali.so
01-06 19:28:19.110: D/libEGL(27760): loaded /system/lib/egl/libGLESv2_mali.so
01-06 19:28:19.110: D/(27760): Device driver API match
01-06 19:28:19.110: D/(27760): Device driver API version: 10
01-06 19:28:19.110: D/(27760): User space API version: 10
01-06 19:28:19.110: D/(27760): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012
01-06 19:28:19.165: D/OpenGLRenderer(27760): Enabling debug mode 0
01-06 19:28:48.755: D/AbsListView(27760): Get MotionRecognitionManager
01-06 19:28:50.325: D/dalvikvm(27760): GC_CONCURRENT freed 107K, 6% free 12461K/13191K, paused 3ms+13ms, total 31ms
01-06 19:28:50.330: D/AbsListView(27760): [unregisterDoubleTapMotionListener]
01-06 19:28:50.330: I/MotionRecognitionManager(27760): .unregisterListener :/listener count = 0->0, [email protected]
01-06 19:28:55.810: D/dalvikvm(27760): GC_CONCURRENT freed 127K, 6% free 12813K/13575K, paused 3ms+3ms, total 22ms
01-06 19:28:55.810: D/dalvikvm(27760): WAIT_FOR_CONCURRENT_GC blocked 16ms
01-06 19:28:56.915: D/dalvikvm(27760): GC_FOR_ALLOC freed 181K, 7% free 13024K/13895K, paused 18ms, total 18ms
01-06 19:28:58.235: D/dalvikvm(27760): GC_CONCURRENT freed 537K, 9% free 12936K/14151K, paused 2ms+2ms, total 14ms
01-06 19:28:58.235: D/dalvikvm(27760): WAIT_FOR_CONCURRENT_GC blocked 10ms
01-06 19:28:59.130: D/dalvikvm(27760): GC_CONCURRENT freed 527K, 10% free 12793K/14151K, paused 2ms+2ms, total 13ms
01-06 19:29:00.920: D/dalvikvm(27760): GC_CONCURRENT freed 104K, 7% free 13200K/14151K, paused 3ms+3ms, total 31ms
01-06 19:29:00.920: D/dalvikvm(27760): WAIT_FOR_CONCURRENT_GC blocked 13ms
01-06 19:29:06.065: D/dalvikvm(27760): GC_CONCURRENT freed 536K, 9% free 13068K/14279K, paused 5ms+4ms, total 36ms
01-06 19:29:06.065: D/dalvikvm(27760): WAIT_FOR_CONCURRENT_GC blocked 30ms
01-06 19:29:16.625: D/dalvikvm(27760): GC_CONCURRENT freed 547K, 9% free 13027K/14279K, paused 14ms+4ms, total 50ms
01-06 19:29:16.625: D/dalvikvm(27760): WAIT_FOR_CONCURRENT_GC blocked 16ms
01-06 19:29:36.525: D/dalvikvm(27760): GC_CONCURRENT freed 540K, 10% free 12988K/14279K, paused 15ms+4ms, total 56ms
01-06 19:29:36.525: D/dalvikvm(27760): WAIT_FOR_CONCURRENT_GC blocked 21ms
01-06 19:30:06.085: W/IInputConnectionWrapper(27760): showStatusIcon on inactive InputConnection
01-06 19:30:13.920: D/dalvikvm(27760): GC_CONCURRENT freed 549K, 10% free 12926K/14279K, paused 20ms+8ms, total 100ms
01-06 19:30:13.920: D/dalvikvm(27760): WAIT_FOR_CONCURRENT_GC blocked 50ms
01-06 19:30:13.995: D/dalvikvm(27760): GC_CONCURRENT freed 137K, 8% free 13223K/14279K, paused 13ms+3ms, total 44ms
지연된 처리기를 사용하지 않는 이유는 무엇입니까? –
나는 AsyncTask를 사용하기 때문에 결코 처리기로 작업하지 않았다. – ObAt
AsyncTasks를 모두 호출/시작하는 방법은 무엇입니까? 'setCanPlay()'란 무엇입니까? 두 번째 작업이 게시 된 작업과 다릅니다. 두 번째 작업은 무엇입니까? – shanet