Android происходит сбой приложения в API камеры с исключением «Тайм-аут отправки диспетчеров» - PullRequest
1 голос
/ 18 марта 2020

Android сбой в перезаписанной функции surfaceDestroyed при mCameraSource !!. Stop () вызов. Я не видел его в версиях меньше, чем Android 10. API камеры, который я использую, исходит из библиотеки ниже:

implementation 'com.google.android.gms:play-services-vision:16.2.0'

Если он указан c для версии API камеры, пожалуйста, дайте мне знать, какой из них лучше и не подходит sh.

Код:

   mCameraView!!.holder.addCallback(object : SurfaceHolder.Callback {
            @SuppressLint("MissingPermission")
            override fun surfaceCreated(holder: SurfaceHolder) {

                try {
                    App.d(TAG, "SURF CREATED")

                    if (mPreview != null) {
                        val lp = mCameraView!!.layoutParams
                        lp.width = mPreview!!.mW
                        lp.height = mPreview!!.mH
                        mCameraView!!.layoutParams = lp
                    }

                    mCameraSource!!.start(mCameraView!!.holder)
                    if (mManual!!.isChecked) {
                        mCameraSource!!.stop()
                    }
                } catch (ie: Exception) {
                    App.d("CAMERA SOURCE", ie.message!!)
                    if (ie.message != null) {
                        mApp?.showToast(ie.message!!, App.MTYPE.ERROR)
                    }

                }

            }

            override fun surfaceChanged(holder: SurfaceHolder, format: Int, width: Int, height: Int) {
                App.d(TAG, "SURF CHANGED$width $height")
            }

            override fun surfaceDestroyed(holder: SurfaceHolder) {
                mCameraSource!!.stop()
            }
        })

Трассировка стека:

Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. Wait queue length: 5. Wait queue head age: 6342.0ms.)

 "main" prio=5 tid=1 Native
      | group="main" sCount=1 dsCount=0 flags=1 obj=0x71f1ca78 self=0x7bbd6e7c00
      | sysTid=12569 nice=-10 cgrp=default sched=0/0 handle=0x7bbec55ed0
      | state=S schedstat=( 3081390685 640907571 5236 ) utm=236 stm=72 core=6 HZ=100
      | stack=0x7ffd745000-0x7ffd747000 stackSize=8192KB
      | held mutexes=
      #00  pc 00000000000d1084  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4)
      #01  pc 000000000008b6b0  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+132)
      #02  pc 00000000000590a4  /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+244)
      #03  pc 0000000000059f90  /system/lib64/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+60)
      #04  pc 0000000000059d34  /system/lib64/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+180)
      #05  pc 000000000004e024  /system/lib64/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+132)
      #06  pc 000000000005a4d0  /system/lib64/libcamera_client.so (android::hardware::BpCamera::stopPreview()+228)
      #07  pc 000000000004ce5c  /system/lib64/libcamera_client.so (android::Camera::stopPreview()+168)
      #08  pc 000000000019220c  /system/lib64/libandroid_runtime.so (android_hardware_Camera_stopPreview(_JNIEnv*, _jobject*)+48)
      at android.hardware.Camera._stopPreview (Camera.java)
      at android.hardware.Camera.stopPreview (Camera.java:1027)
      at com.google.android.gms.vision.CameraSource.stop (CameraSource.java)
    - locked <0x0fbf2510> (a java.lang.Object)
      at info.gryb.gac.mobile.Scanner$startCamera$9.surfaceDestroyed (Scanner.java:782)
      at android.view.SurfaceView.updateSurface (SurfaceView.java:732)
      at android.view.SurfaceView.onWindowVisibilityChanged (SurfaceView.java:280)
      at android.view.View.dispatchWindowVisibilityChanged (View.java:13873)
      at android.view.ViewGroup.dispatchWindowVisibilityChanged (ViewGroup.java:1594)
      at android.view.ViewGroup.dispatchWindowVisibilityChanged (ViewGroup.java:1594)
      at android.view.ViewGroup.dispatchWindowVisibilityChanged (ViewGroup.java:1594)
      at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2259)
      at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1930)
      at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7988)
      at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1154)
      at android.view.Choreographer.doCallbacks (Choreographer.java:977)
      at android.view.Choreographer.doFrame (Choreographer.java:893)
      at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1139)
      at android.os.Handler.handleCallback (Handler.java:883)
      at android.os.Handler.dispatchMessage (Handler.java:100)
      at android.os.Looper.loop (Looper.java:214)
      at android.app.ActivityThread.main (ActivityThread.java:7682)
      at java.lang.reflect.Method.invoke (Method.java)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:516)
      at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:950)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...