Android(安卓)错误信息集锦(持续更新)
一、Attempt to invoke virtual method ‘void android.app.ActionBar.hide()’ on a null object reference
报错发生处:
when (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { true -> window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN) false -> { val decorView = window.decorView val uiOption = View.SYSTEM_UI_FLAG_FULLSCREEN decorView.systemUiVisibility = uiOption actionBar.hide() //supportActionBar?.hide() } }
报错原因:
如果
Activity
继承AppCompactActivity
而不是继承的Activity
,使用的支持库后必须使用getSupportActionBar()
而不是getActionBar()
二、Activity com.xxActivity has leaked window DecorView@ab38a0a[] that was originally added here
E/WindowManager: android.view.WindowLeaked: Activity com.com.xxActivity has leaked window DecorView@ab38a0a[] that was originally added here
at android.view.ViewRootImpl.(ViewRootImpl.java:484)
具体原因:
因为 Dialog
为依托于具体的 Activity
而存在的,当 ActivityStack
里的 Activity
由于一系列操作而退栈的同时 ,相应的` Dialog 没有置空,这时在新的
Activity页面重新调用
Dialog#show()时,App 就出现崩并且报出如上的错误信息,其原因是因为在新的
Activity页面调用的
Dialog 实例`是未被回收的基于上一个 Activity 建立的对象,当然不能被新的Activity 调用。
解决方法:
在上一个 Activity 的 onPause()、onStop() 或者 onDestory()方法中对Dialog 对象做 dissmiss()并置空操作
private void onPause(){ mDialog.dissmiss(); mDialog = null; }
三、java.lang.ref.SoftReference cannot be cast to android.view.inputmethod.InputConnection
具体报错信息如下
java.lang.ClassCastException: java.lang.ref.SoftReference cannot be cast to android.view.inputmethod.InputConnection
at com.android.tools.profiler.support.profilers.EventProfiler$InputConnectionHandler.run(EventProfiler.java:289)
报错场景:
先前调试使用的为
华为荣耀V10(8.0)
,在做Memory Profiler
时,开启了高级选项配置
,在换另一台手机华为荣耀 6p(6.0)
时出现异常情况:打开 App 就出现崩溃,并且报出如上错误信息。重启电脑、手机、clean 项目无效,同时展示的情况为:运行其他项目无异常、同事在荣耀 6p 调试项目无异常。
最终通过 Google 找到 解决方法:
关闭 Memory Profile 时的高级选项配置
具体的原因上面的解决办法的帖子中也有提到:开启高级配置会占用大量的内存,直接导致项目崩溃(也许会这样,如图片所示 AS 也提醒我们开启此选项会对性能造成一定的影响)。
更多相关文章
- android使用keystore打包错误解决方法
- 新建项目Android(安卓)Support library not installed问题
- Android(安卓)UI + Function
- ubuntu下配置Android(安卓)NDK
- [Android开发常见问题-21] Android(安卓)近百个项目的源代码
- Android(安卓)常见知识整理(1)
- 在Android(安卓)Studio上进行OpenCV3.1开发环境的配置
- 【Android(安卓)应用开发】GitHub 优秀的 Android(安卓)开源项目
- 【Android(安卓)应用开发】GitHub 优秀的 Android(安卓)开源项目