使用流程
1 应用启动时,网络请求获取用户信息
2 获取成功,调用WorkerManager的enqueue传入自定义的Wroker启动任务
3 在任务的doWrok中调用用户信息类中的方法进行操作

出现的问题:
当设备重启后,闪退,报空指针异常。
异常位置是在doWrok()方法体中。
通过打log打印执行时间发现,设备重启时,doWrok就会执行,在获取用户信息之前
导致userInfo为空。
解决方法:
在doWrok()中,做为空判断,导致具体业务流程未完成前执行work导致运行时异常。

本文详细描述了一个在设备重启后导致应用程序闪退并报空指针异常的问题,该问题出现在自定义Worker的doWrok方法中。由于设备重启时Worker提前执行,而此时用户信息尚未获取,导致userInfo为空。解决方法是在doWrok方法中增加空判断,避免在具体业务流程未完成前执行Worker导致的运行时异常。
657

被折叠的 条评论
为什么被折叠?



