- 码云同步: https://gitee.com/jenly1314
- 温馨提示: 之前所有发布至 JCenter 的开源库,如果当前库最新版本未迁移至 Maven Central,理论上都可以使用 Jit Pack 仓库。
jenly1314 / camerascan Goto Github PK
View Code? Open in Web Editor NEW📷 CameraScan一个简化扫描识别流程的通用基础库
License: Apache License 2.0
📷 CameraScan一个简化扫描识别流程的通用基础库
License: Apache License 2.0
发现camerax后,程序预览特别慢,首次启动至少3s以上,看过之前反馈的特定终端的那个帖子,现在我将日志贴出来,烦请大佬分析。
--------- beginning of system
2023-11-20 21:40:42.477 13257-13257 Timeline com.easypay.posp.comm I Timeline: Activity_launch_request id:com.easypay.posp.comm time:25781047
2023-11-20 21:40:42.568 13257-13257 MediaPlayer-JNI com.easypay.posp.comm E QCMediaPlayer mediaplayer NOT present
2023-11-20 21:40:42.588 13257-13257 MediaPlayer com.easypay.posp.comm E Should have subtitle controller already set
2023-11-20 21:40:42.590 13257-13257 Scan rect com.easypay.posp.comm I Rect(0, 282 - 420, 570)
2023-11-20 21:40:42.592 13257-13257 CameraScan....java:318) com.easypay.posp.comm D CameraConfig:
2023-11-20 21:40:42.597 13257-13257 ViewRootImpl com.easypay.posp.comm I CPU Rendering VSync enable = true
2023-11-20 21:40:42.655 13257-13257 MediaPlayer com.easypay.posp.comm E Should have subtitle controller already set
2023-11-20 21:40:42.666 13257-13257 CamcorderProfileResolut com.easypay.posp.comm D mSupportedResolutions = [1280x960, 1280x720, 864x480, 800x480, 720x480, 768x432, 640x480, 480x640, 576x432, 480x360, 384x288, 352x288, 320x240, 240x320, 240x160, 176x144, 144x176, 144x176, 160x120]
2023-11-20 21:40:42.668 13257-13257 CamcorderProfileResolut com.easypay.posp.comm D mSupportedResolutions = [1280x960, 1280x720, 864x480, 800x480, 720x480, 768x432, 640x480, 480x640, 576x432, 480x360, 384x288, 352x288, 320x240, 240x320, 240x160, 176x144, 144x176, 144x176, 160x120]
2023-11-20 21:40:42.674 13257-13257 DeferrableSurface com.easypay.posp.comm D Surface created[total_surfaces=1, used_surfaces=0](androidx.camera.core.SurfaceRequest$2@203cd2e5}
2023-11-20 21:40:42.676 13257-13257 CameraOrientationUtil com.easypay.posp.comm D getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2023-11-20 21:40:42.679 13257-13257 CameraOrientationUtil com.easypay.posp.comm D getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2023-11-20 21:40:42.680 13257-13257 CameraOrientationUtil com.easypay.posp.comm D getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2023-11-20 21:40:42.682 13257-13257 DeferrableSurface com.easypay.posp.comm D Surface created[total_surfaces=2, used_surfaces=0](androidx.camera.core.impl.ImmediateSurface@2296586b}
2023-11-20 21:40:42.683 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Use case androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176 ACTIVE
2023-11-20 21:40:42.687 13257-13284 UseCaseAttachState com.easypay.posp.comm D Active and attached use case: [] for camera: 0
2023-11-20 21:40:42.687 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Use case androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417 ACTIVE
2023-11-20 21:40:42.688 13257-13284 UseCaseAttachState com.easypay.posp.comm D Active and attached use case: [] for camera: 0
2023-11-20 21:40:42.690 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Use cases [androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176, androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417] now ATTACHED
2023-11-20 21:40:42.692 13257-13284 UseCaseAttachState com.easypay.posp.comm D All use case: [androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176, androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417] for camera: 0
2023-11-20 21:40:42.693 13257-13284 UseCaseAttachState com.easypay.posp.comm D Active and attached use case: [androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176, androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417] for camera: 0
2023-11-20 21:40:42.696 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Resetting Capture Session
2023-11-20 21:40:42.696 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Releasing session in state INITIALIZED
2023-11-20 21:40:42.696 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Attempting to force open the camera.
2023-11-20 21:40:42.696 13257-13284 CameraStateRegistry com.easypay.posp.comm D tryOpenCamera(Camera@177e683c[id=0]) [Available Cameras: 1, Already Open: false (Previous state: CLOSED)] --> SUCCESS
2023-11-20 21:40:42.697 13257-13284 CameraStateRegistry com.easypay.posp.comm D Recalculating open cameras:
Camera State
-------------------------------------------------------------------
Camera@aad57c3[id=1] UNKNOWN
Camera@177e683c[id=0] OPENING
-------------------------------------------------------------------
Open count: 1 (Max allowed: 1)
2023-11-20 21:40:42.697 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Opening camera.
2023-11-20 21:40:42.697 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Transitioning camera internal state: INITIALIZED --> OPENING
2023-11-20 21:40:42.697 13257-13284 CameraStateMachine com.easypay.posp.comm D New public camera state CameraState{type=OPENING, error=null} from OPENING and null
2023-11-20 21:40:42.698 13257-13284 CameraStateMachine com.easypay.posp.comm D Publishing new public camera state CameraState{type=OPENING, error=null}
2023-11-20 21:40:42.698 13257-13284 UseCaseAttachState com.easypay.posp.comm D All use case: [androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176, androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417] for camera: 0
2023-11-20 21:40:42.713 13257-13284 CameraManager com.easypay.posp.comm I Using legacy camera HAL.
2023-11-20 21:40:42.835 13257-13257 PreviewView com.easypay.posp.comm D Surface requested by Preview.
2023-11-20 21:40:42.836 13257-13257 PreviewView com.easypay.posp.comm D Preview transformation info updated. TransformationInfo{cropRect=Rect(0, 0 - 640, 480), rotationDegrees=90, targetRotation=-1}
2023-11-20 21:40:42.836 13257-13257 PreviewTransform com.easypay.posp.comm D Transformation info set: TransformationInfo{cropRect=Rect(0, 0 - 640, 480), rotationDegrees=90, targetRotation=-1} 640x480 false
2023-11-20 21:40:42.838 13257-13257 CameraOrientationUtil com.easypay.posp.comm D getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2023-11-20 21:40:42.906 13257-13257 Timeline com.easypay.posp.comm I Timeline: Activity_idle id: android.os.BinderProxy@3f9eb0f1 time:25781476
2023-11-20 21:40:43.271 13257-13257 TextureViewImpl com.easypay.posp.comm D SurfaceTexture available. Size: 640x480
2023-11-20 21:40:43.272 13257-13257 TextureViewImpl com.easypay.posp.comm D Surface set on Preview.
2023-11-20 21:40:43.361 13257-13479 LandicorpM...atusModule com.easypay.posp.comm D addCountToFile CAMERA_BACK_COUNT 1 uid=10327
2023-11-20 21:40:43.419 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Use case androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176 ACTIVE
2023-11-20 21:40:43.420 13257-13284 UseCaseAttachState com.easypay.posp.comm D Active and attached use case: [androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176, androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417] for camera: 0
2023-11-20 21:40:43.422 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Use case androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417 ACTIVE
2023-11-20 21:40:43.423 13257-13284 UseCaseAttachState com.easypay.posp.comm D Active and attached use case: [androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176, androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417] for camera: 0
2023-11-20 21:40:43.426 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} CameraDevice.onOpened()
2023-11-20 21:40:43.427 13257-13284 Camera2CameraImpl com.easypay.posp.comm D {Camera@177e683c[id=0]} Transitioning camera internal state: OPENING --> OPENED
2023-11-20 21:40:43.427 13257-13284 CameraStateRegistry com.easypay.posp.comm D Recalculating open cameras:
Camera State
-------------------------------------------------------------------
Camera@aad57c3[id=1] UNKNOWN
Camera@177e683c[id=0] OPEN
-------------------------------------------------------------------
Open count: 1 (Max allowed: 1)
2023-11-20 21:40:43.428 13257-13284 CameraStateMachine com.easypay.posp.comm D New public camera state CameraState{type=OPEN, error=null} from OPEN and null
2023-11-20 21:40:43.428 13257-13284 CameraStateMachine com.easypay.posp.comm D Publishing new public camera state CameraState{type=OPEN, error=null}
2023-11-20 21:40:43.429 13257-13284 UseCaseAttachState com.easypay.posp.comm D All use case: [androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176, androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417] for camera: 0
2023-11-20 21:40:43.432 13257-13284 UseCaseAttachState com.easypay.posp.comm D Active and attached use case: [androidx.camera.core.Preview-d57c88c5-687d-4e9d-bf57-e44735264a661024064176, androidx.camera.core.ImageAnalysis-17cdac1d-9708-45f6-9a84-b2eb77d010fb465669417] for camera: 0
2023-11-20 21:40:43.435 13257-13284 SyncCaptureSessionBase com.easypay.posp.comm D [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@1f71a7c5] getSurface...done
2023-11-20 21:40:43.436 13257-13284 CaptureSession com.easypay.posp.comm D Opening capture session.
2023-11-20 21:40:43.440 13257-13284 DeferrableSurface com.easypay.posp.comm D New surface in use[total_surfaces=2, used_surfaces=1](androidx.camera.core.SurfaceRequest$2@203cd2e5}
2023-11-20 21:40:43.440 13257-13284 DeferrableSurface com.easypay.posp.comm D use count+1, useCount=1 androidx.camera.core.SurfaceRequest$2@203cd2e5
2023-11-20 21:40:43.440 13257-13284 DeferrableSurface com.easypay.posp.comm D New surface in use[total_surfaces=2, used_surfaces=2](androidx.camera.core.impl.ImmediateSurface@2296586b}
2023-11-20 21:40:43.441 13257-13284 DeferrableSurface com.easypay.posp.comm D use count+1, useCount=1 androidx.camera.core.impl.ImmediateSurface@2296586b
2023-11-20 21:40:43.444 13257-13284 CameraDeviceState com.easypay.posp.comm I Legacy camera service transitioning to state CONFIGURING
2023-11-20 21:40:43.445 13257-13513 RequestThread-0 com.easypay.posp.comm I Configure outputs: 2 surfaces configured.
最好支持拍照后,给用户选择去识别。 = =
举个例子:setBarcodeFormats(Barcode.FORMAT_QR_CODE),只扫描二维码
setBarcodeFormats(Barcode.FORMAT_CODE_128),只扫描条形码
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.