-
-
Save iflove/727a0f4d92ecd1f07abc807b01194223 to your computer and use it in GitHub Desktop.
Android应用日常异常日志收录 |
iflove
commented
Jan 19, 2021
•
进程被销毁时,启动服务
Service
(只能被迫接受了,try catch)
Caused by: java.lang.SecurityException: Unable to start service Intent { cmp=cn.mashang.vscreen.base/cn.mashang.vscreen.logic.services.VSCoreService }: Unable to launch app cn.mashang.vscreen.base/10047 for service Intent { cmp=cn.mashang.vscreen.base/cn.mashang.vscreen.logic.services.VSCoreService }: process is bad
at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1738)
at android.app.ContextImpl.startService(ContextImpl.java:1711)
at android.content.ContextWrapper.startService(ContextWrapper.java:516)
at cn.mashang.groups.MGApp.qg(MGApp.java:3)
at cn.mashang.groups.MGApp.qf(MGApp.java:1)
at cn.mashang.groups.MGApp.import(MGApp.java:2)
at cn.mashang.groups.ui.base.MGBaseFragmentActivity.onCreate(MGBaseFragmentActivity.java:7)
at cn.mashang.vscreen.ui.base.VSBaseFragmentActivity.onCreate(VSBaseFragmentActivity.java:3)
at cn.mashang.vscreen.ui.VSGetRfidActivity.onCreate(VSGetRfidActivity.java:1)
at cn.mashang.vscreen.ui.VSStart.onCreate(VSStart.java:1)
at android.app.Activity.performCreate(Activity.java:6324)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
解决代码
ComponentHelper.java
private static final String TAG = "ComponentHelper";
public static void startService(Context context, Intent service) {
try {
context.startService(service);
} catch (SecurityException e) {
e.printStackTrace();
//解决Unable to start service Intent {xx} process is bad 【 抛出源为ActivityManagerService.getContentProviderImpl,就是程序发生异常闪退了,进程挂了,这时为后台应用,就安静接受失败吧】
Logg.w(TAG, "startService silently fail");
}
}
触摸点异常,对相应的View的onTouchEvent 事件捕获异常即可,不过要注意返回值
java.lang.IllegalArgumentException: pointerIndex out of range
at android.view.MotionEvent.nativeGetAxisValue(Native Method)
at android.view.MotionEvent.getX(MotionEvent.java:2122)
at android.support.v4.view.ViewPager.onTouchEvent(ViewPager.java:9)
at cn.mashang.vscreen.ui.view.BannersViewPager.onTouchEvent(BannersViewPager.java:1)
at android.view.View.dispatchTouchEvent(View.java:10023)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2626)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2307)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:545)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1811)
at android.app.Activity.dispatchTouchEvent(Activity.java:3091)
at cn.mashang.vscreen.ui.VSStart.dispatchTouchEvent(VSStart.java:9)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:507)
at android.view.View.dispatchPointerEvent(View.java:10243)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4438)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4306)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3906)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3872)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3999)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3880)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4056)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3906)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3872)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3880)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6247)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6221)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6182)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6350)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:6141)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
修复Code
@Override
public boolean onTouchEvent(MotionEvent ev) {
boolean ret = false;
try {
ret = super.onTouchEvent(ev);
checkIfCallback();
} catch (IllegalArgumentException e) {
Log.error(TAG, "onTouchEvent ", e);
if (BuildConfig.DEBUG) {
throw e;
}
}
return ret;
}
线程无法创建,原因资源泄露:内存、fd、线程不释放等
java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again
at java.lang.Thread.nativeCreate(Native Method)
at java.lang.Thread.start(Thread.java:730)
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:941)
at java.util.concurrent.ThreadPoolExecutor.ensurePrestart(ThreadPoolExecutor.java:1582)
at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:313)
at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:533)
at java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:625)
at okhttp3.internal.http2.Http2Connection$ReaderRunnable.applyAndAckSettings(Http2Connection.java:1)
at okhttp3.internal.http2.Http2Connection$ReaderRunnable.settings(Http2Connection.java:5)
at okhttp3.internal.http2.Http2Reader.readSettings(Http2Reader.java:11)
at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.java:13)
at okhttp3.internal.http2.Http2Reader.readConnectionPreface(Http2Reader.java:2)
at okhttp3.internal.http2.Http2Connection$ReaderRunnable.execute(Http2Connection.java:2)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:3)
at java.lang.Thread.run(Thread.java:761)
Android VideoView 内部错误
java.lang.IllegalStateException
at android.media.MediaPlayer._reset(Native Method)
at android.media.MediaPlayer.reset(MediaPlayer.java:1905)
at android.widget.VideoView.release(VideoView.java:639)
at android.widget.VideoView.-wrap1(VideoView.java)
at android.widget.VideoView$7.surfaceDestroyed(VideoView.java:630)
at android.view.SurfaceView.updateWindow(SurfaceView.java:588)
at android.view.SurfaceView.onWindowVisibilityChanged(SurfaceView.java:247)
at android.view.View.dispatchDetachedFromWindow(View.java:15567)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3179)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3179)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3179)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:4715)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:4689)
at android.view.ViewGroup.removeView(ViewGroup.java:4620)
at android.support.v4.view.ViewPager.removeView(Unknown Source)
at cn.mashang.vscreen.ui.fragment.l$e.destroyItem(Unknown Source)
at android.support.v4.view.ViewPager.populate(Unknown Source)
at android.support.v4.view.ViewPager.populate(Unknown Source)
at android.support.v4.view.ViewPager$3.run(Unknown Source)
at android.support.v4.view.ViewPager.completeScroll(Unknown Source)
at android.support.v4.view.ViewPager.scrollToItem(Unknown Source)
at android.support.v4.view.ViewPager.setCurrentItemInternal(Unknown Source)
at android.support.v4.view.ViewPager.setCurrentItemInternal(Unknown Source)
at android.support.v4.view.ViewPager.setCurrentItem(Unknown Source)
at cn.mashang.vscreen.ui.fragment.l.a(Unknown Source)
at cn.mashang.vscreen.ui.fragment.l.a(Unknown Source)
at cn.mashang.vscreen.ui.k.onClick(Unknown Source)
at android.view.View.performClick(View.java:5637)
at android.view.View$PerformClick.run(View.java:22445)
at android.os.Handler.handleCallback(Handler.java:755)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6141)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
触控View时,对其移除,post 试试
java.lang.NullPointerException
at android.view.ViewGroup.resetCancelNextUpFlag(ViewGroup.java:2011)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2187)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1523)
at android.app.Activity.dispatchTouchEvent(Activity.java:2468)
at cn.mashang.vscreen.ui.VSStart.dispatchTouchEvent(VSStart.java:6)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2135)
at android.view.View.dispatchPointerEvent(View.java:7891)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4027)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3906)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3472)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3522)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3491)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3598)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3499)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3655)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3472)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3522)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3491)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3499)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3472)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5612)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5592)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5563)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5692)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:138)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:801)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:617)
at dalvik.system.NativeStart.main(Native Method)
java.lang.NullPointerException: Attempt to read from field 'int android.view.View.mPrivateFlags' on a null object reference
at android.view.ViewGroup.resetCancelNextUpFlag(ViewGroup.java:2414)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2319)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:545)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1811)
at android.app.Activity.dispatchTouchEvent(Activity.java:3091)
at cn.mashang.vscreen.ui.VSStart.dispatchTouchEvent(VSStart.java:6)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:507)
at android.view.View.dispatchPointerEvent(View.java:10243)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4438)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4306)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3906)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3872)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3999)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3880)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4056)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3906)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3872)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3880)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6247)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6221)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6182)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6350)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:6141)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
现象:使用kill 命令对进程杀死,以及闪退时杀掉进程时可能会出现
低内存日志
04-10 05:06:09.918 210 210 E lowmemorykiller: Error writing /proc/10077/oom_score_adj; errno=22
04-10 05:06:09.918 210 210 E lowmemorykiller: Error writing /proc/10056/oom_score_adj; errno=22
04-10 05:06:09.937 210 210 E lowmemorykiller: Error writing /proc/10077/oom_score_adj; errno=22
Process : Sending signal. PID: 10209 SIG: 3
[Android Low Memory Killer](https://segmentfault.com/a/1190000021042098)
[LMK](https://lixiaogang03.github.io/2019/12/09/Android-LMK/)
[gityuan](http://gityuan.com/2016/09/17/android-lowmemorykiller/)
源码:lmkd.c : cmd_procprio(int pid, int uid, int oomadj)
Process.java
390 public static final int SIGNAL_QUIT = 3;
391 public static final int SIGNAL_KILL = 9;
392 public static final int SIGNAL_USR1 = 10;
目标进程Trace
Java
adb shell kill -3 [pid] //方法1
Process.sendSignal(pid, Process.SIGNAL_QUIT) //方法2
2) Native层
adb shell debuggerd -b [tid] //方法1
Debug.dumpNativeBacktraceToFile(pid, tracesPath) //方法2
因为:绝杀 kill -9 PID,同意的 kill -s SIGKILL,这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
这时应用杀死后延迟启动应用,导致向系统申请内存,系统并回收空进程,系统有可能触发 lowmemorykiller ,,导致主进程无法启动
因此使用am force-stop 终止程序更可靠
ANR
"main" prio=5 tid=1 Native
| group="main" sCount=1 dsCount=0 obj=0x73d414a0 self=0xaef05400
| sysTid=712 nice=-2 cgrp=default sched=0/0 handle=0xb1d29534
| state=S schedstat=( 2330027277 539876163 5093 ) utm=181 stm=51 core=0 HZ=100
| stack=0xbe2c6000-0xbe2c8000 stackSize=8MB
| held mutexes=
native: #00 pc 000487a4 /system/lib/libc.so (__epoll_pwait+20)
native: #01 pc 0001a20d /system/lib/libc.so (epoll_pwait+60)
native: #02 pc 0001a23d /system/lib/libc.so (epoll_wait+12)
native: #03 pc 00011c83 /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+118)
native: #04 pc 00011b7f /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+26)
native: #05 pc 00093a7d /system/lib/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+22)
native: #06 pc 00bea00d /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+96)
at android.os.MessageQueue.nativePollOnce(Native method)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:136)
at com.android.server.SystemServer.run(SystemServer.java:358)
at com.android.server.SystemServer.main(SystemServer.java:225)
at java.lang.reflect.Method.invoke!(Native method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
"android.bg" prio=5 tid=10 Blocked
| group="main" sCount=1 dsCount=0 obj=0x12c374c0 self=0xaef06800
| sysTid=725 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0xad8c9920
| state=S schedstat=( 1304135283 48631660395 2517 ) utm=43 stm=86 core=2 HZ=100
| stack=0xad7c7000-0xad7c9000 stackSize=1038KB
| held mutexes=
at com.android.server.am.ActivityManagerService$3.handleMessage(ActivityManagerService.java:2473)
- waiting to lock <0x0839e100> (a com.android.server.am.ActivityManagerService) held by thread 83
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
"ActivityManager" prio=5 tid=11 Blocked
| group="main" sCount=1 dsCount=0 obj=0x12c1ad80 self=0xa514d000
| sysTid=726 nice=-2 cgrp=default sched=0/0 handle=0xa7d6e920
| state=S schedstat=( 343776114 470428314 1092 ) utm=25 stm=8 core=2 HZ=100
| stack=0xa7c6c000-0xa7c6e000 stackSize=1038KB
| held mutexes=
at com.android.server.am.BroadcastQueue$BroadcastHandler.handleMessage(BroadcastQueue.java:175)
- waiting to lock <0x0839e100> (a com.android.server.am.ActivityManagerService) held by thread 83
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
"android.fg" prio=5 tid=16 Blocked
| group="main" sCount=1 dsCount=0 obj=0x12d30740 self=0xa514e900
| sysTid=731 nice=0 cgrp=default sched=0/0 handle=0x97efa920
| state=S schedstat=( 22170751 33104750 245 ) utm=1 stm=0 core=0 HZ=100
| stack=0x97df8000-0x97dfa000 stackSize=1038KB
| held mutexes=
at com.android.server.am.ActivityManagerService.monitor(ActivityManagerService.java:21988)
- waiting to lock <0x0839e100> (a com.android.server.am.ActivityManagerService) held by thread 83
at com.android.server.Watchdog$HandlerChecker.run(Watchdog.java:179)
at android.os.Handler.handleCallback(Handler.java:755)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
闪退信息
F/libc ( 8585): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x26 in tid 9014 (.webank.com/...)
F/libc (15708): Fatal signal 6 (SIGABRT), code -6 in tid
Fragment相关错误
Failure saving state: SelectGroupMembersFragment{4449c698 #6 id=0x7f080ba3} has target not in fragment manager: SelectGroupToViewMembersFragment{445eec38}
android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:16)
FragmentPagerAdapter 状态异常错误,升级AndroidX 最新Fragment组件
java.lang.IllegalStateException: Can't change container ID of fragment GroupImageThumbFragment{ea6a5ab id=0x2765 android:switcher:10087:2}: was 10085 now 10087
at android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:10)
at android.support.v4.app.BackStackRecord.add(BackStackRecord.java:3)
at android.support.v4.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:10)
at n2.u.instantiateItem(MGFragmentPagerAdapter.java:8)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:3)
at android.support.v4.view.ViewPager.populate(ViewPager.java:46)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:16)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:1)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:4)
at cn.mashang.vscreen.ui.fragment.PagesThumbFragment.iR(PagesThumbFragment.java:5)
at cn.mashang.vscreen.ui.fragment.PagesThumbFragment.handleMessage(PagesThumbFragment.java:4)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6141)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
GC
java.util.concurrent.TimeoutException
com.android.internal.os.BinderInternal$GcWatcher.finalize() timed out after 10 seconds
com.android.internal.os.BinderInternal$GcWatcher.finalize(BinderInternal.java:53)
该异常表示调用超时。
[解决方案]:一般是系统在gc时,调用对象的finalize超时导致,解决办法:
1.检查分析finalize的实现为什么耗时较高,修复它;
2.检查日志查看GC是否过于频繁,导致超时,减少内容开销,防止内存泄露。
window
# android.view.WindowManager$BadTokenException
Unable to add window -- token android.os.BinderProxy@df1d9ee is not valid; is your activity running?
Dialog的dismiss引发的崩溃
java.lang.IllegalArgumentException: View=DecorView@3cf51aa[BusyBox插件] not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:473)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:382)
at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:124)
at android.app.Dialog.dismissDialog(Dialog.java:370)
at android.app.Dialog.-android_app_Dialog-mthref-0(Dialog.java:136)
at android.app.Dialog$-void__init__android_content_Context_context_int_themeResId_boolean_createContextThemeWrapper_LambdaImpl0.run(Dialog.java)
at android.os.Handler.handleCallback(Handler.java:755)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6141)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
弹窗show异常
Caused by: android.view.InflateException: Binary XML file line #41: Error inflating class <unknown>
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:651)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:724)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:792)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:867)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:870)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
at android.view.LayoutInflater.inflate(LayoutInflater.java:519)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.app.ProgressDialog.onCreate(ProgressDialog.java:233)
at android.app.Dialog.dispatchOnCreate(Dialog.java:407)
at android.app.Dialog.show(Dialog.java:302)
at cn.mashang.vscreen.ui.PadMain.logout(PadMain.java:1014)
at cn.mashang.vscreen.ui.PadMain.onAutoLogoutTimeout(PadMain.java:987)
at cn.mashang.vscreen.utils.AutoLogoutCountDownTimer.handleMessage(AutoLogoutCountDownTimer.java:153)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 6: TypedValue{t=0x2/d=0x101009b a=1}
at android.content.res.TypedArray.getColorStateList(TypedArray.java:548)
at android.widget.TextView.readTextAppearance(TextView.java:3572)
at android.widget.TextView.<init>(TextView.java:941)
at android.widget.TextView.<init>(TextView.java:886)
at android.widget.TextView.<init>(TextView.java:882)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:651)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:724)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:792)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:867)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:870)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
at android.view.LayoutInflater.inflate(LayoutInflater.java:519)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.app.ProgressDialog.onCreate(ProgressDialog.java:233)
at android.app.Dialog.dispatchOnCreate(Dialog.java:407)
at android.app.Dialog.show(Dialog.java:302)
at cn.mashang.vscreen.ui.PadMain.logout(PadMain.java:1014)
at cn.mashang.vscreen.ui.PadMain.onAutoLogoutTimeout(PadMain.java:987)
at cn.mashang.vscreen.utils.AutoLogoutCountDownTimer.handleMessage(AutoLogoutCountDownTimer.java:153)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
弹窗主题缺少一些属性:
TODO
申请内存时失败
java.lang.OutOfMemoryError: Failed to allocate a 12 byte allocation with 0 free bytes and 3GB until OOM
申请内存发生OutOfMemoryError,又捕获了OutOfMemoryError,值到no stack trace available
java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack trace available
系统发送崩溃, 原因未知
Process: cn.mashang.vscreen.base:crashDaemon, PID: 1090
java.lang.RuntimeException: Unable to create application cn.mashang.vscreen.VSApp: java.lang.NullPointerException
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4568)
at android.app.ActivityThread.access$1500(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1402)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5323)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at cn.mashang.groups.MGApp.J(MGApp.java:4)
at cn.mashang.groups.MGApp.L(MGApp.java:2)
at cn.mashang.vscreen.VSApp.import(VSApp.java:1)
at cn.mashang.groups.MGApp.onCreate(MGApp.java:3)
at cn.mashang.vscreen.VSApp.onCreate(VSApp.java:4)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4565)
... 10 more
Error reporting crash
android.os.DeadObjectException
at android.os.BinderProxy.transact(Native Method)
at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:3845)
at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:84)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
Error reporting crash
android.os.DeadObjectException
at android.os.BinderProxy.transact(Native Method)
at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:3845)
at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:84)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
at dalvik.system.NativeStart.main(Native Method)
FATAL EXCEPTION: ContactsProviderWorker
Process: android.process.acore, PID: 955
java.lang.NullPointerException
at android.accounts.AccountManager.getAccounts(AccountManager.java:383)
at com.android.providers.contacts.ContactsProvider2.performBackgroundTask(ContactsProvider2.java:1793)
at com.android.providers.contacts.ContactsProvider2$2.handleMessage(ContactsProvider2.java:9988)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:61)
Error reporting crash
android.os.DeadObjectException
at android.os.BinderProxy.transact(Native Method)
at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:3845)
at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:84)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
Failed to find provider info for com.android.contacts
内存泄露导致的系统的broadcast功能异常(向系统注册过多广播)
android.app.RemoteServiceException: can't deliver broadcast
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6141)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:913)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)
sqlite 相关错误收集, 可能磁盘空间不足,还有就是写入数据过程中突然掉电等。
database disk image is malformed
android.database.sqlite.SQLiteDiskIOException
android.database.sqlite.SQLiteCantOpenDatabaseException
android.database.sqlite.SQLiteDatabaseLockedException
fragment 官方组件缺陷 (项目中出现的viewpager+fragment自动切换,导致索引为-1,removeViewAt(-1))
issues
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.unFocus(android.view.View)' on a null object reference
at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:3757)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3723)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3697)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3671)
at android.app.ActivityThread.-wrap16(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1495)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6141)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.unFocus(android.view.View)' on a null object reference
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:4702)
at android.view.ViewGroup.removeViewAt(ViewGroup.java:4665)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1796)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at androidx.fragment.app.FragmentManagerImpl.dispatchPause(FragmentManager.java:3245)
at androidx.fragment.app.Fragment.performPause(Fragment.java:2641)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1512)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at androidx.fragment.app.FragmentManagerImpl.dispatchPause(FragmentManager.java:3245)
at androidx.fragment.app.FragmentController.dispatchPause(FragmentController.java:234)
at androidx.fragment.app.FragmentActivity.onPause(FragmentActivity.java:476)
at cn.mashang.groups.ui.base.BaseFragmentActivity.onPause(BaseFragmentActivity.java:100)
at cn.mashang.groups.ui.base.MGBaseFragmentActivity.onPause(MGBaseFragmentActivity.java:218)
at cn.mashang.vscreen.ui.VSStart.onPause(VSStart.java:1952)
at android.app.Activity.performPause(Activity.java:6849)
at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1322)
at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:3746)
fd 资源泄露 /proc/pid/fd
javax.net.ssl.SSLException: Unable to create application data
java.net.SocketException: Too many open files
断电Android 设备丢失数据
2022-02-14 16:39:02.115 3871-3871/cn.mashang.vscreen.base E/MMKV: <MMKV_IO.cpp:74::loadFromFile> file [/data/user/0/cn.mashang.vscreen.base/files/mmkv/mmkv_vs_default] not valid
2022-02-14 16:39:02.764 3871-3918/cn.mashang.vscreen.base E/SharedPreferencesImpl: Couldn't rename file /data/user/0/cn.mashang.vscreen.base/shared_prefs/default_v2.xml to backup file /data/user/0/cn.mashang.vscreen.base/shared_prefs/default_v2.xml.bak
模块implementation
引用 aar 文件打包, 采用compileOnly
Direct local .aar file dependencies are not supported when building an AAR.
放弃写Settings.System,改用Settings.Global保存共享数据。
java.lang.IllegalArgumentException: You cannot keep your settings in the secure settings.
是否转用了AndroidX
java.lang.IllegalArgumentException: Missing android.support.FILE_PROVIDER_PATHS meta-data
检查:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
原因未知
CrashReport: java.lang.RuntimeException: Unable to destroy activity {cn.mashang.vscreen.base/cn.mashang.vscreen.ui.VSStart}: java.lang.ClassCastException: android.view.ViewRootImpl cannot be cast to android.view.ViewGroup
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5105)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5135)
at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5427)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5357)
at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ClientTransactionHandler.executeTransaction(ClientTransactionHandler.java:58)
at android.app.ActivityThread.handleRelaunchActivityLocally(ActivityThread.java:5410)
at android.app.ActivityThread.access$3300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2076)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7660)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.ClassCastException: android.view.ViewRootImpl cannot be cast to android.view.ViewGroup
at androidx.fragment.app.SpecialEffectsController$Operation$State.applyState(SpecialEffectsController.java:464)
at androidx.fragment.app.SpecialEffectsController$1.run(SpecialEffectsController.java:211)
at androidx.fragment.app.SpecialEffectsController$Operation.complete(SpecialEffectsController.java:713)
at androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation.complete(SpecialEffectsController.java:770)
at androidx.fragment.app.SpecialEffectsController$Operation.cancel(SpecialEffectsController.java:615)
at androidx.fragment.app.SpecialEffectsController.forceCompleteAllOperations(SpecialEffectsController.java:350)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2844)
at androidx.fragment.app.FragmentManager.dispatchDestroyView(FragmentManager.java:2812)
at androidx.fragment.app.Fragment.performDestroyView(Fragment.java:3225)
at androidx.fragment.app.FragmentStateManager.destroyFragmentView(FragmentStateManager.java:744)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:327)
at androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation.complete(SpecialEffectsController.java:771)
at androidx.fragment.app.SpecialEffectsController$Operation.cancel(SpecialEffectsController.java:615)
at androidx.fragment.app.SpecialEffectsController.forceCompleteAllOperations(SpecialEffectsController.java:350)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2844)
at androidx.fragment.app.FragmentManager.dispatchDestroy(FragmentManager.java:2820)
at androidx.fragment.app.FragmentController.dispatchDestroy(FragmentController.java:345)
at androidx.fragment.app.FragmentActivity.onDestroy(FragmentActivity.java:306)
at cn.mashang.groups.ui.base.BaseFragmentActivity.onDestroy(BaseFragmentActivity.java:161)
at cn.mashang.groups.ui.base.MGBaseFragmentActivity.onDestroy(MGBaseFragmentActivity.java:180)
at cn.mashang.vscreen.ui.VSGetRfidActivity.onDestroy(VSGetRfidActivity.java:452)
at cn.mashang.vscreen.ui.VSStart.onDestroy(VSStart.java:2032)
at android.app.Activity.performDestroy(Activity.java:8273)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1344)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5090)
源码出错点:
void applyState(@NonNull View view) { //view 是Fragment的根view,是oncreateView时赋值的,排查了ViewRootImpl 还是没搞明白
switch (this) {
case REMOVED:
ViewGroup parent = (ViewGroup) view.getParent(); //ClassCastException
通过一个LazyAttachFragmentLayout 解决,RecycleView回收时间和fragment事务提交点碰合了. 不要在list.item 频繁操作fragment
java.lang.IllegalArgumentException: No view found for id 0xd3 (unknown) for fragment VsGonggeItemFragment{2be0e53} (4e43eaf2-29a8-4697-95d8-563b3c743a8e id=0xd3 tag=256:259:0:0)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:513)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1840)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1758)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1701)
at androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:488)
at android.os.Handler.handleCallback(Handler.java:755)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6141)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
网络异常
OKHttp
java.net.ProtocolException: unexpected end of stream
okhttp3.internal.http1.Http1Codec.FixedLengthSink#close
原因是服务器流被关闭,可能原因:
(1) 在抛出java.net.ProtocolException: unexpected end of stream异常之后,确认一下fileLength和contentLength是否一致, 如果不一致的情况下, 可以设置Transfer-Encoding : chunked来躲过客户端的校验
(2) 针对一个资源或者同一个服务器的频繁请求,最好设置Connection : close,这样可以防止服务器出现反攻击的问题,服务器发现某短时间的请求过于频繁切长期保持长链接,会引发服务器的瘫痪,所以针对服务器的长链接请求会dismiss掉,导致当前请求异常。
安装apk
apk 解包时存储不够导致失败
D/InstallAppProgress: Installation error code: 1
INSTALL_FAILED_INSUFFICIENT_STORAGE
Choreographer 未知错误
java.lang.NullPointerException
Attempt to invoke virtual method 'android.view.DisplayListCanvas android.view.RenderNode.start(int, int)' on a null object reference
android.view.ViewRootImpl.draw(ViewRootImpl.java:2800)
android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2608)
android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2215)
android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6338)
android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
android.view.Choreographer.doCallbacks(Choreographer.java:686)
android.view.Choreographer.doFrame(Choreographer.java:621)
android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
android.os.Handler.handleCallback(Handler.java:755)
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6141)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)