2014-12-30 80 views
0

我在LG G Pad 8.3上運行一個應用程序,Android 4.4.2。該應用程序使用OpenCV處理視頻輸入,並使用GPS信息。開始後20-30秒,應用程序崩潰而沒有消息。調試輸出粘貼在下面。看起來這一行: E/LocSvc_ApiV02(865):I/< --- void globalEventCb(locClientHandleType,uint32_t,locClientEventIndUnionType,void *)第81行QMI_LOC_EVENT_POSITION_REPORT_IND_V02 是重要的一個,緊隨其後的是「Location listener died」 。我一直無法找到足夠的信息。 另外有趣的是,在我的三星Galaxy S3 mini(Android 4.2.2)上,同樣的應用程序沒有任何問題。Android應用程序崩潰與QMI_LOC_EVENT_POSITION_REPORT_IND_V02

E/mm-camera-intf( 347): VIDEO_DENOISER_PROCESSING = 6439.000000us 1920x1080 
E/QCameraHWI_Preview( 347): Qandroid::status_t android::QCameraStream_preview::processPreviewFrameWithDisplay(mm_camera_super_buf_t*): PCB callback enabled 
E/QCameraHWI_Preview( 347): void android::QCameraStream_preview::resizePreviewFrame(camera_memory_t*) : E 
D/QCameraHWI_Preview( 347): void android::QCameraStream_preview::resizePreviewFrame(camera_memory_t*) : X 
D/CameraClient( 347): dataCallback(16) 
D/CameraClient( 347): frame is copied 
D/CameraClient( 347): copyFrameAndPostCopiedFrame 
D/CameraClient( 347): setPreviewCallbackFlag(0) (pid 28124) 
E/QualcommCamera( 347): Qvoid android::disable_msg_type(camera_device*, int32_t): E 
I/QCameraHWI( 347): disableMsgType: E 
I/QCameraHWI( 347): disableMsgType: X, msgType =0x10, mMsgEnabled=0xc0d 
D/JavaCameraView(28124): Preview Frame received. Frame size: 3110400 
D/CameraClient( 347): setPreviewCallbackFlag(5) (pid 28124) 
I/QCameraHWI( 347): enableMsgType: E, msgType =0x10 
I/QCameraHWI( 347): enableMsgType: X, msgType =0x10, mMsgEnabled=0xc1d 
E/mm-camera-intf( 347): VIDEO_DENOISER_PROCESSING = 10711.000000us 1920x1080 
E/QCameraHWI_Preview( 347): Qandroid::status_t android::QCameraStream_preview::processPreviewFrameWithDisplay(mm_camera_super_buf_t*): PCB callback enabled 
E/QCameraHWI_Preview( 347): void android::QCameraStream_preview::resizePreviewFrame(camera_memory_t*) : E 
D/QCameraHWI_Preview( 347): void android::QCameraStream_preview::resizePreviewFrame(camera_memory_t*) : X 
D/CameraClient( 347): dataCallback(16) 
D/CameraClient( 347): frame is copied 
D/CameraClient( 347): copyFrameAndPostCopiedFrame 
D/CameraClient( 347): setPreviewCallbackFlag(0) (pid 28124) 
E/QualcommCamera( 347): Qvoid android::disable_msg_type(camera_device*, int32_t): E 
I/QCameraHWI( 347): disableMsgType: E 
I/QCameraHWI( 347): disableMsgType: X, msgType =0x10, mMsgEnabled=0xc0d 
D/JavaCameraView(28124): Preview Frame received. Frame size: 3110400 
D/CameraClient( 347): setPreviewCallbackFlag(5) (pid 28124) 
I/QCameraHWI( 347): enableMsgType: E, msgType =0x10 
I/QCameraHWI( 347): enableMsgType: X, msgType =0x10, mMsgEnabled=0xc1d 
E/mm-camera-intf( 347): VIDEO_DENOISER_PROCESSING = 8362.000000us 1920x1080 
E/QCameraHWI_Preview( 347): Qandroid::status_t android::QCameraStream_preview::processPreviewFrameWithDisplay(mm_camera_super_buf_t*): PCB callback enabled 
E/QCameraHWI_Preview( 347): void android::QCameraStream_preview::resizePreviewFrame(camera_memory_t*) : E 
D/QCameraHWI_Preview( 347): void android::QCameraStream_preview::resizePreviewFrame(camera_memory_t*) : X 
D/CameraClient( 347): dataCallback(16) 
D/CameraClient( 347): frame is copied 
D/CameraClient( 347): copyFrameAndPostCopiedFrame 
D/CameraClient( 347): setPreviewCallbackFlag(0) (pid 28124) 
E/QualcommCamera( 347): Qvoid android::disable_msg_type(camera_device*, int32_t): E 
I/QCameraHWI( 347): disableMsgType: E 
I/QCameraHWI( 347): disableMsgType: X, msgType =0x10, mMsgEnabled=0xc0d 
D/JavaCameraView(28124): Preview Frame received. Frame size: 3110400 
D/CameraClient( 347): setPreviewCallbackFlag(5) (pid 28124) 
I/QCameraHWI( 347): enableMsgType: E, msgType =0x10 
I/QCameraHWI( 347): enableMsgType: X, msgType =0x10, mMsgEnabled=0xc1d 
E/mm-camera-intf( 347): VIDEO_DENOISER_PROCESSING = 7751.000000us 1920x1080 
E/QCameraHWI_Preview( 347): Qandroid::status_t android::QCameraStream_preview::processPreviewFrameWithDisplay(mm_camera_super_buf_t*): PCB callback enabled 
E/QCameraHWI_Preview( 347): void android::QCameraStream_preview::resizePreviewFrame(camera_memory_t*) : E 
D/QCameraHWI_Preview( 347): void android::QCameraStream_preview::resizePreviewFrame(camera_memory_t*) : X 
D/CameraClient( 347): dataCallback(16) 
D/CameraClient( 347): frame is copied 
D/CameraClient( 347): copyFrameAndPostCopiedFrame 
E/LocSvc_ApiV02( 865): I/<--- void globalEventCb(locClientHandleType, uint32_t, locClientEventIndUnionType, void*) line 81 QMI_LOC_EVENT_POSITION_REPORT_IND_V02 
E/mm-camera( 379): afd_algo_run: AFD success, std_width -1, flicker_freq 60 
I/Vold ( 336): [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0 
I/Vold ( 336): [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0 
D/LocationManagerService( 865): Location listener died 
I/LocationManagerService( 865): remove 42e000a8 
I/ActivityManager( 865): Process com.example.opencvhello (pid 28124) has died. 
I/WindowState( 865): WIN DEATH: Window{42acb930 u0 com.example.opencvhello/com.example.opencvhello.MainActivity} 
W/ActivityManager( 865): Force removing ActivityRecord{42b66ae0 u0 com.example.opencvhello/.MainActivity t56}: app died, no saved state 
W/CameraService( 347): Disconnecting camera client 0xb8d926a0 since the binder for it died (this pid 347) 
D/CameraClient( 347): disconnect E (pid 347) 
D/CameraClient( 347): hardware teardown 
E/QualcommCamera( 347): Qvoid android::disable_msg_type(camera_device*, int32_t): E 
I/QCameraHWI( 347): disableMsgType: E 
I/QCameraHWI( 347): disableMsgType: X, msgType =0xffff, mMsgEnabled=0x0 
E/QualcommCamera( 347): Qvoid android::stop_preview(camera_device*): E 
I/QCameraHWI( 347): void android::QCameraHardwareInterface::stopPreview(): stopPreview: E 

回答

1

作爲回答here,嘗試手動調用垃圾收集器在onCameraFrame()這樣:

System.gc(); 

這解決了我的問題,其中的應用程序在一分鐘左右後沒有任何錯誤關閉。