相关文章推荐
不要命的汉堡包  ·  WebView全面解析 ·  2 月前    · 
阳刚的硬盘  ·  Android TabLayout ...·  1 月前    · 
文雅的洋葱  ·  android ...·  6 天前    · 
风流倜傥的山寨机  ·  Android ...·  6 小时前    · 
独立的椰子  ·  NPOI EXCEL ...·  1 年前    · 
八块腹肌的四季豆  ·  [FE] ...·  1 年前    · 
坚韧的南瓜  ·  WebService-CXF+Spring整 ...·  1 年前    · 
亮灭屏和背光log分析关键字段: DisplayPowerController: Animating brightness | DisplayPowerController: Brightness | PowerManagerService: Waking up | PowerManagerService: Going to sleep | DisplayManagerService: setTemporaryBrightness | AutomaticBrightnessController | START u0 | DisplayManagerService: Display device changed state: | DisplayPowerController: updatePowerState: policy = | DreamManagerService | SurfaceFlinger: Setting power mode | SurfaceFlinger: Finished setting power | WindowManager: Started waking up | DisplayPowerController: Unblocked screen | WindowManager: Finished waking up | WindowManager: Finished going to sleep | WindowManager: Finished | PowerManagerService: Screen | DisplayPowerController: Animating brightness | ActivityManager: Start proc | FingerprintManager: handleMessage | InputDispatcher: kernel亮灭屏关键字段: syna double tap wakeup | dsi_panel_enable | dsi_panel_disable | BLANK | pwrkey | dsi_display_set_backlight | dsi_ WindowManager: SURFACE SHOW ActivityManager: ANR mtk anr: AnrManager: ANR in com.tencent.mm ( com.tencent.mm/.ui.chatting.gallery.ImageGalleryUI ) , time = 324293212 *** FATAL EXCEPTION IN SYSTEM PROCESS Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: native crash log: "DEBUG : pid" 05-17 12 :23:06.035 23193 23316 I ActivityManager: CPU usage from 118ms to 21ms ago ( 2022 -05-17 12 :23:05.917 to 2022 -05-17 12 :23:06.014 ) : 05-17 12 :23:06.035 23193 23316 I ActivityManager: 78 % TOTAL: 28 % user + 47 % kernel + 2.7 % irq 05-17 12 :23:06.035 23193 23316 I ActivityManager: 147 % 22957 /android.hardware.audio.service: 0 % user + 147 % kernel / faults: 6 minor 05-17 12 :23:06.035 23193 23316 I ActivityManager: 200 % 23193 /system_server: 100 % user + 100 % kernel / faults: 474 minor bugreport log: DUMP OF SERVICE native crash log: "DEBUG : pid" 11 -16 21 :02:08.721 15023 15023 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 11 -16 21 :02:08.721 15023 15023 F DEBUG : Build fingerprint: 'Lenovo/m11_prc_wifi/J606F:11/RKQ1.210303.002/13.0.311_211112:user/release-keys' 11 -16 21 :02:08.721 15023 15023 F DEBUG : Revision: '0' 11 -16 21 :02:08.721 15023 15023 F DEBUG : ABI: 'arm64' 11 -16 21 :02:08.722 15023 15023 F DEBUG : Timestamp: 2021 -11-16 21 :02:08+0800 11 -16 21 :02:08.722 15023 15023 F DEBUG : pid: 1367 , tid: 1548 , name: android.display >> > system_server <<< 11 -16 21 :02:08.722 15023 15023 F DEBUG : uid: 1000 11 -16 21 :02:08.722 15023 15023 F DEBUG : signal 6 ( SIGABRT ) , code -1 ( SI_QUEUE ) , fault addr -------- 11 -16 21 :02:08.722 15023 15023 F DEBUG : Abort message: 'sp<> assignment detected data race' 11 -16 21 :02:08.722 15023 15023 F DEBUG : x0 0000000000000000 x1 000000000000060c x2 0000000000000006 x3 0000007b505ef050 11 -16 21 :02:08.722 15023 15023 F DEBUG : x4 60692d606470ff1f x5 60692d606470ff1f x6 60692d606470ff1f x7 7f7f7f7f7f7f7f7f 11 -16 21 :02:08.722 15023 15023 F DEBUG : x8 00000000000000f0 x9 ab945656c778db00 x10 0000000000000000 x11 ffffffc0fffffbdf 11 -16 21 :02:08.722 15023 15023 F DEBUG : x12 0000000000000001 x13 000000000000017a x14 0000000000000002 x15 ffffffffffffffff 11 -16 21 :02:08.722 15023 15023 F DEBUG : x16 0000007eacbc9c80 x17 0000007eacbabbb0 x18 0000007b50334000 x19 0000000000000557 11 -16 21 :02:08.722 15023 15023 F DEBUG : x20 000000000000060c x21 00000000ffffffff x22 0000007bb943f887 x23 000000000000000b 11 -16 21 :02:08.722 15023 15023 F DEBUG : x24 0000007bb941f447 x25 0000000000000001 x26 0000007bb943654b x27 0000007bb9a3e000 11 -16 21 :02:08.722 15023 15023 F DEBUG : x28 b400007bd9bb6630 x29 0000007b505ef0d0 11 -16 21 :02:08.722 15023 15023 F DEBUG : lr 0000007eacb5f3e0 sp 0000007b505ef030 pc 0000007eacb5f40c pst 0000000000000000 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] Runtime aborting .. . 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] Dumping all threads without mutator lock held 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] All threads: 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] DALVIK THREADS ( 160 ) : 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] "Binder:1367_4" prio = 6 tid = 39 Runnable 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] | group = "" sCount = 0 dsCount = 0 flags = 0 obj = 0x14941998 self = 0xb400007d29bf92e0 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] | sysTid = 2039 nice = -2 cgrp = default sched = 0 /0 handle = 0x7b35b10cc0 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] | state = R schedstat = ( 40114536967 22375096380 79628 ) utm = 2849 stm = 1162 core = 7 HZ = 100 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] | stack = 0x7b35a19000-0x7b35a1b000 stackSize = 995KB 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] | held mutexes = "mutator lock" ( shared held ) 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] native: #00 pc 00000000004a21f0 /apex/com.android.art/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+140) 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] native: #01 pc 00000000005af348 /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+376) 11 -16 21 :02:08.355 1367 1548 F system_server: runtime.cc:655 ] native: #02 pc 00000000005cc480 /apex/com.android.art/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+924) Android 8.0 系统异常:Abort message: ' sp assign ment detect ed data r ace ' -- Animat ed VectorDrawable 最近在Debug Android 工程时,发现真机直接崩溃闪退,但直接run则没问题,debug闪退日志报错:Dumping all threads without appropriate locks held: thread list lock mutator lock,之前调试还是好好的,为什么突然就不行了呢? 具体日志如下: 12-07 10:37:05.736: I/System 最近学习Flutter,遇到的问题记录一下 开发 Flutter版本的产品时,在集成阿里云播放器之后一直正常 开发 。结果发现打了Release的包之后,在进入到播放器页面时,App会直接Crash。 Flutter的报错信息也不是很明显。 JNI DETECT ED ERROR IN APPLICATION: java_class == null in call to GetFieldID from java.lang.String java.lang.Runtime.nativeLoad(java.lan. 保证对共享资源的互斥访问,指一个执行单元在访问共享资源的时候,其他的执行单元被禁止访问。 Linux设备驱动中可采用的互斥途径:中断屏蔽、原子操作、自旋锁、信号量以及completion。 中断屏蔽可以解决中断与进程之间的并发,也可以解决内核抢占进程之间的并发。 在TimerLoop函数中,在调用其他JNI函数之前,通过调用 g_vm->AttachCurrentThread 方法来附加到JVM并获取新的 JNIEnv* 对象,然后,在线程结束前,使用DetachCurrentThread将JNI线程分离。这样,当JNI线程执行JNI调用时,就可以正确地附加到JVM了。在JNI中,每个线程必须先通过JNIEnv接口附加到JVM,然后才能安全地进行JNI调用。在JNI线程中,使用JNIEnv指针附加到JVM。在需要进行JNI调用的地方,在调用之前先附加到JVM。 数据竞争( data r ace )是指在非线程安全的情况下,多线程对同一个地址空间进行写操作。一般来说,我们都会通过线程同步方法来保证数据的安全,比如采用互斥量或者读写锁。但是由于某些笔误或者设计的缺陷,还是存在 data r ace 的可能性的。(转载请指明出于breaksoftware的csdn博客) 比如下面这段代码 #define _GNU_SOURCE 1 一、名词解析 1、 data r ace : Any r ace is a bug 定义: ①多个线程(协程)对于同一个变量、②同时地、③进行读/写操作、并且④至少有一个线程进行写操作。(也就是说,如果所有线程都是只进行读操作,那么将不构成数据争用) 后果: 如果发生了数据争用,读取该变量时得到的值将变得不可知(根据内存模型),使得该多线程程序的运行结果将完全不可预测,有一定可能会导致直接崩溃。 如何防止: 对于有可能被多个线程同时访问的变量使用排他访问控制,具体方法包括使用 这一节的学习比较简单,可以看出作者的主要目的在于基于比较简单的 android LOG 日志系统来将 android 当中从java层到 framework 层再到runtime层的调用流程拉通进行讲解一次,所以这一节的内容是比较简单的。 这里就简单说一下调用的流程: 1、java程序使用 Log .i/e/v/w/d 命令来写入日志 ( framework s/base/core/java/andr