LuckSiege / PictureSelector

Picture Selector Library for Android or 图片选择器
Apache License 2.0
13.26k stars 3.01k forks source link

2.6.0的demo在华为nova 4,android 10系统上预览视频ANR #1794

Closed chenxihoulang closed 3 years ago

chenxihoulang commented 3 years ago

2020-12-16 09:43:11.777 1262-1753/? E/ActivityManager: ANR in com.luck.pictureselector (com.luck.pictureselector/com.luck.picture.lib.PictureVideoPlayActivity) PID: 20412 Reason: 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. waitqueue length = 18, head.seq = 809651, Wait queue head age: 5504.3ms.) Parent: com.luck.pictureselector/com.luck.picture.lib.PictureVideoPlayActivity Load: 46.89 / 46.78 / 47.28 CPU usage from 68042ms to 0ms ago (2020-12-16 09:42:01.591 to 2020-12-16 09:43:09.633): 22% 1262/system_server: 15% user + 7.2% kernel / faults: 27113 minor 323 major 13% 12009/android.process.media: 0.8% user + 12% kernel / faults: 3675 minor 8% 693/surfaceflinger: 5.1% user + 2.9% kernel / faults: 1222 minor 9 major 5.9% 665/vendor.huawei.hardware.hwdisplay.displayengine@1.2-service: 3.8% user + 2.1% kernel / faults: 13 minor 1 major 5.2% 629/android.hardware.graphics.composer@2.2-service: 2.2% user + 2.9% kernel / faults: 145 minor 4.2% 2046/com.android.systemui: 2.8% user + 1.3% kernel / faults: 15423 minor 354 major 3.1% 843/hwpged: 0.2% user + 2.8% kernel / faults: 80 minor 2 major 2.5% 860/hiview: 1.2% user + 1.3% kernel / faults: 4442 minor 29 major 2.4% 1069/com.tencent.mm:toolsmp: 1.9% user + 0.4% kernel / faults: 2519 minor 8 major 2% 31951/adbd: 0.6% user + 1.4% kernel / faults: 310 minor 1.9% 474/logd: 0.8% user + 1% kernel / faults: 37 minor 1.8% 5138/com.tencent.mm: 0.7% user + 1% kernel / faults: 954 minor 56 major 1.8% 9062/com.alibaba.android.rimet: 1.1% user + 0.6% kernel / faults: 2680 minor 80 major 1.7% 2408/com.huawei.android.launcher: 1.3% user + 0.4% kernel / faults: 12999 minor 59 major 1.6% 2255/com.huawei.hiview: 0.9% user + 0.6% kernel / faults: 5015 minor 43 major 1.4% 2344/com.huawei.iaware: 0.9% user + 0.4% kernel / faults: 3158 minor 22 major 0.9% 91/kcompactd0: 0% user + 0.9% kernel 1.3% 10837/kworker/u16:26: 0% user + 1.3% kernel / faults: 1 minor 1.2% 17726/com.huawei.hwvoipservice: 0.6% user + 0.6% kernel / faults: 5725 minor 23 major 0.8% 840/media.codec: 0.3% user + 0.5% kernel / faults: 319 minor 1.1% 2374/com.android.phone: 0.7% user + 0.3% kernel / faults: 4091 minor 78 major 0% 791/vendor.huawei.hardware.biometrics.hwfacerecognize@1.1-service: 0% user + 0% kernel / faults: 10634 minor 67 major 0.9% 475/servicemanager: 0.5% user + 0.4% kernel / faults: 13 minor 0.9% 687/audioserver: 0.7% user + 0.1% kernel / faults: 64 minor 15 major 0.9% 9979/kworker/u16:23: 0% user + 0.9% kernel 0.8% 699/powerlogd: 0.6% user + 0.2% kernel / faults: 18 minor 1 major 0.7% 692/lmkd: 0% user + 0.7% kernel 0.7% 19988/logcat: 0.3% user + 0.3% kernel / faults: 9 minor 0.7% 818/mediaserver: 0.4% user + 0.2% kernel / faults: 1581 minor 0.7% 2300/com.huawei.systemserver: 0.4% user + 0.2% kernel / faults: 3091 minor 38 major 0.6% 19749/com.eg.android.AlipayGphone:push: 0.4% user + 0.2% kernel / faults: 6099 minor 70 major 0.6% 1977/com.huawei.systemmanager:service: 0.4% user + 0.2% kernel / faults: 6471 minor 77 major 0.6% 628/android.hardware.graphics.allocator@2.0-service: 0% user + 0.5% kernel / faults: 130 minor 0.4% 10046/kworker/u16:25: 0% user + 0.4% kernel 0.5% 9/rcu_preempt: 0% user + 0.5% kernel 0.5% 645/vendor.huawei.hardware.audio@5.0-service: 0.1% user + 0.3% kernel / faults: 4 minor 0.4% 808/dubaid: 0.2% user + 0.2% kernel / faults: 704 minor 0.4% 265/ts_thread:0: 0% user + 0.4% kernel 0.4% 98/sys_heap: 0% user + 0.4% kernel 0.4% 1024/hisi_frw/0: 0% user + 0.4% kernel 0.3% 806/displayengineserver: 0.2% user + 0.1% kernel / faults: 2 minor 0.2% 9468/kworker/u16:22: 0% user + 0.2% kernel 0.2% 837/CameraDaemon: 0.1% user + 0.1% kernel / faults: 1895 minor 12 major 0.3% 1/init: 0.1% user + 0.2% kernel / faults: 671 minor 0.3% 852/vendor.huawei.hardware.sensors@1.0-service: 0.1% user + 0.1% kernel 0.3% 6092/com.tencent.mobileqq:MSF: 0.1% user + 0.1% kernel / faults: 807 minor 28 major

chenxihoulang commented 3 years ago

使用2.5.9版本,华为nova4,拍摄1分钟视频后,点击确定出现如下bug日志 E/PictureThreadUtils: onFail: java.lang.NoSuchMethodError: No interface method isOpen()Z in class Lokio/BufferedSource; or its super classes (declaration of 'okio.BufferedSource' appears in /data/app/包名-T7SnMVnl4fsRTE6jIWp-wA==/base.apk!classes4.dex) at com.luck.picture.lib.tools.AndroidQTransformUtils.copyPathToAndroidQ(AndroidQTransformUtils.java:61) at com.luck.picture.lib.PictureBaseActivity$6.doInBackground(PictureBaseActivity.java:809) at com.luck.picture.lib.PictureBaseActivity$6.doInBackground(PictureBaseActivity.java:795) at com.luck.picture.lib.thread.PictureThreadUtils$Task.run(PictureThreadUtils.java:1193) at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:929) at com.luck.picture.lib.thread.PictureThreadUtils$UtilsThreadFactory$1.run(PictureThreadUtils.java:1120)

chenxihoulang commented 3 years ago

2020-12-16 10:41:52.527 18461-19204/包名 E/DEBUG: --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 2020-12-16 10:41:52.527 18461-19204/包名 E/DEBUG: Process Name: '包名' 2020-12-16 10:41:52.527 18461-19204/包名 E/DEBUG: Thread Name: 'phone.principal' 2020-12-16 10:41:52.527 18461-19204/包名 E/DEBUG: ANR Time: 2020-12-16 10:41:52.526 2020-12-16 10:41:52.527 18461-19204/包名 E/DEBUG: ANR Info: 2020-12-16 10:41:52.527 18461-19204/包名 E/DEBUG: --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 2020-12-16 10:41:52.527 18461-19204/包名 E/DEBUG: anr traces: 2020-12-16 10:41:52.528 18461-19204/包名 E/DEBUG: generate begin time: 2020-12-16 10:41:52 [DEBUG] dump art internal: 66 [DEBUG] VMExt: 0xec62b1c0, i: 72, str: 0 [DEBUG] aborting: 0x0, 0 [DEBUG] Dump: 0x0, State: 0xe7c4e395, JavaStack: 0xe7c51781 [DEBUG] current: 0xec603e00, pid: 19203 [DEBUG] List: 0xec78f000 [DEBUG] Each: 0xe7c6350d [DEBUG] err: 0xce5a0d88 [DEBUG] begin each [DEBUG] dumping 0xec603e00 ... "main" prio=5 tid=1 Native | group="main" sCount=0 dsCount=0 flags=0 obj=0x72b05158 self=0xec603e00 | sysTid=18461 nice=-10 cgrp=default sched=0/0 handle=0xecc2bdc0 | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100 | stack=0xff047000-0xff049000 stackSize=8192KB | held mutexes= at android.media.MediaMetadataRetriever.setDataSource(Native method) at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:144) at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:188) at com.luck.picture.lib.tools.MediaUtils.getVideoSizeForUri(MediaUtils.java:227) at com.luck.picture.lib.adapter.PictureImageGridAdapter.changeCheckboxState(PictureImageGridAdapter.java:528) at com.luck.picture.lib.adapter.PictureImageGridAdapter.lambda$onBindViewHolder$1$PictureImageGridAdapter(PictureImageGridAdapter.java:223) at com.luck.picture.lib.adapter.-$$Lambda$PictureImageGridAdapter$uWypJ7SggKAZmJ-3tZnGmgpWnc4.onClick(lambda:-1) at android.view.View.performClick(View.java:7192) at android.view.View.performClickInternal(View.java:7166) at android.view.View.access$3500(View.java:824) at android.view.View$PerformClick.run(View.java:27592) at android.os.Handler.handleCallback(Handler.java:888) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:213) at android.app.ActivityThread.main(ActivityThread.java:8178) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)

"Jit thread pool worker thread 0" daemon prio=5 tid=2 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x13fc1608 self=0xd8b06000
  | sysTid=18469 nice=0 cgrp=default sched=0/0 handle=0xd8a05d90
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd8907000-0xd8909000 stackSize=1023KB
  | held mutexes=
  (no managed stack frames)

"Signal Catcher" daemon prio=5 tid=7 WaitingInMainSignalCatcherLoop
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x13fc1680 self=0xd1767800
  | sysTid=18474 nice=0 cgrp=default sched=0/0 handle=0xd8901230
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd8806000-0xd8808000 stackSize=1008KB
  | held mutexes=
  (no managed stack frames)

"ADB-JDWP Connection Control Thread" daemon prio=0 tid=8 WaitingInMainDebuggerLoop
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x13fc16f8 self=0xd8b2f400
  | sysTid=18477 nice=0 cgrp=default sched=0/0 handle=0xd8800230
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd8705000-0xd8707000 stackSize=1008KB
  | held mutexes=
  (no managed stack frames)

"ReferenceQueueDaemon" daemon prio=5 tid=9 Waiting
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x13fc1770 self=0xec607600
  | sysTid=18479 nice=4 cgrp=default sched=0/0 handle=0xbe0a5230
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbdfa2000-0xbdfa4000 stackSize=1040KB
  | held mutexes=
    at java.lang.Object.wait(Native method)
  - waiting on <0x089f9abc> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
    at java.lang.Object.wait(Object.java:442)
    at java.lang.Object.wait(Object.java:568)
    at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:215)
    at java.lang.Daemons$Daemon.run(Daemons.java:137)
    at java.lang.Thread.run(Thread.java:929)

"HeapTaskDaemon" daemon prio=5 tid=10 WaitingForTaskProcessor
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x13fc17e8 self=0xec606800
  | sysTid=18478 nice=4 cgrp=default sched=0/0 handle=0xbe1ae230
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
chenxihoulang commented 3 years ago

华为手机选择视频一直Loading的问题,是由于Okio库的版本不对,我本地以前使用的是1.13.0版本,BufferedSource所以并不包含isOpen方法(AndroidQTransformUtils文件中),导致产生异常 建议各位也对比下Okio的版本,看是否还会Loading很长时间?目前我更改了Okio的版本为2.6.0,这个Loading的问题暂时没有复现了

Fanyunf commented 3 years ago

我2.6 还是会出现这个 点几个图片 就出现了