我是靠谱客的博主 美满微笑,最近开发中收集的这篇文章主要介绍Android 导航栏 隐藏显示状态改变后引起的闪退问题记录,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

现象:

  • 机型 华为P10 华为机型可以设置底部虚拟按键(即底部导航栏,且其导航栏还存在隐藏按键)
  • 两个 A_Activity 和 B_Activity,在Activity中显示导航栏,然后进入B_Activity。在B_Activity中隐藏导航栏后finish,此时会出现闪退。查看log日志,无error异常抛出。

定位问题:

  • 在error级的log无法定位问题后,切换到warn,发现如下报错: 其关键 updateSurfaceStatusWindowStateAnimator
Exception thrown when updateSurfaceStatusWindowStateAnimator{62aa4ae cn.fmsyjhgb/cn.fmgbdt.activitys.broadcast.RadioListActivity}: android.os.DeadObjectException
复制代码
  • 由此明白大致因为是动画引起

解决方法:

  • 在AndroidManifest 的Activity设置如下属性
android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"
复制代码
  • 然后在Activity 中重写onConfigurationChanged() 方法:

/**
* onConfigurationChanged事件并不是只有屏幕方向改变才可以触发,其他的一些系统设置改变也可以触发,比如打开或者隐藏键盘
* @param newConfig
*/
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
PrintLogUtil.log("<<onConfigurationChanged>>");
}
复制代码

参考: blog.csdn.net/lkk79047014…

转载于:https://juejin.im/post/5cb699df6fb9a068985fb02c

最后

以上就是美满微笑为你收集整理的Android 导航栏 隐藏显示状态改变后引起的闪退问题记录的全部内容,希望文章能够帮你解决Android 导航栏 隐藏显示状态改变后引起的闪退问题记录所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部